Всем привет, разрабатываю сейчас нейросеть, но не хватает знаний и навыков. / пидоры помогите (реактор помоги) :: Tensorflow :: разработка :: нейронные сети

нейронные сети Tensorflow разработка пидоры помогите песочница 

UJD
150
2QD
250
Original
5D	So	¡50	äo	250	300	3SD

0
50 -

10D
150 -
200
250-
0
50
10D
150
Predict
2QD	So	300	So,нейронные сети,Tensorflow,разработка,пидоры помогите,реактор помоги,песочница

Всем привет, разрабатываю сейчас нейросеть, но не хватает знаний и навыков. Пишу на python c tf.keras, модель Sequential

Пытаюсь воспроизвести классическую задачу переноса стиля, с некоторыми доп. параметрами.

Конкретнее, на входе я подаю маленькие кусочки большого изображения + позиция изображения на большой картинке + миниатюра большого изображения. На выходе у меня этот же кусочек изображения. Обучаю на 30 больших изображениях.

С изображением небольшого размера (32х32) всё работает отлично, со значением inner_layers = 3 через 500 эпох я получаю более менее приемлемое изображение: 

0
5
10
15
20
25
Original
0	10	20	30
30
Predict,нейронные сети,Tensorflow,разработка,пидоры помогите,реактор помоги,песочница

Но вот с 400х300 изображение уходит в loss = 0.009 а предсказания показывают только градиенты. 

нейронные сети,Tensorflow,разработка,пидоры помогите,реактор помоги,песочница


- learning rate пробовал уменьшать, без результатов.

- изменение loss function на CategoricalCrossentropy "ломает" модель,  loss поднимается до 2000, а предсказания - статичная картинка

- аналогично ломается модель, если изменить функцию активации слоёв с relu на sigmoid. Хотя, если не ошибаюсь, то установка друг за другом нескольких relu слоёв одинаковой длины - должна быть бессмысленной.

код модели:

inner_layers = 9

model = models.Sequential()

model.add(layers.Dense(input_size, input_dim=input_size))

for i in range(inner_layers):

      model.add(layers.Dense(input_size,      activation='relu'))

model.add(layers.Dense(int(output_size/8), activation='relu'))

for i in range(inner_layers):

      model.add(layers.Dense(output_size,      activation='relu'))   

model.add(layers.Dense(output_size,       activation='linear'))

model.compile(loss='MeanAbsoluteError')


Приму любые советы, как можно улучшить модель или даже какую архитектуру стоит использовать. 

Пробовал так же использовать CNN, но я не знаю, как во входные данные дать ему доп. параметры, кроме самого изображения.

Использовать RNN было бы тоже логично, но не совсем понятно, как организовать использование двумерной памяти, чтобы картинка ориентировалась не только на картинку "слева", но и "сверху".

Так же, понятно, что можно использовать готовое решение а-ля это, но там используется не Keras, и к такой реализации я пока не готов. 

P.S. кроме этого часть входа с кусочками изображения я заменяю пустым значением, чтобы нейросеть не училась воспроизводить изображение по нему 1 к 1, а ориентировалась на миниатюру и позицию. Но здесь, кажется, тоже не все так гладко.


Подробнее
UJD 150 2QD 250 Original 5D So ¡50 äo 250 300 3SD 0 50 - 10D 150 - 200 250- 0 50 10D 150 Predict 2QD So 300 So
0 5 10 15 20 25 Original 0 10 20 30 30 Predict

нейронные сети,Tensorflow,разработка,пидоры помогите,реактор помоги,песочница
Еще на тему
Развернуть
MDED MDED 10.09.202122:21 ответить ссылка 6.3
Возьми готовую модель с гитхаба github.com/lengstrom/fast-style-transfer и посмотри как она работает.
А так ты делаешь какую-то хуйню.
Если хочешь так сказать from scratch почитай книжку Генеративное обучение, там норм расписан перенос стиля.
underwit underwit 10.09.202122:34 ответить ссылка 1.3
Спасибо, респект, не знал про эту книгу. Ушёл читать.
Собрал перцептрон
@
Страдать почему мой ИИ не захватил мир
Malgoron Malgoron 10.09.202122:37 ответить ссылка 0.3
Я думаю проблема не в том, что модель с такой архитектурой не способна воспроизвести результат, ведь, при желании можно вручную подогнать веса, которые будут решать такую задачу, на несколько порядков лучше. Но что именно мешает нейросети сделать это самой?
Очевидно, что тут данные линейно не разделяемые и одними нейронами смещения ты не отделаешься. И количество нейронов должно быть больше, раз ты можешь подобрать что-то там руками.
Это так не работает. В основе переноса стиля используются сверточные нейронные сети. Кароч это всё фигня. Я вот вагины генерировал с использованием StyleGAN2. Даже утилитку написал, чтобы со своей порно коллекции фильмов вырезать из кадра только пизду, вот таким макаром собрал датасет. В конечном итоге конечно жуть получилась, но это просто датасет маленький и обучал не долго.
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Science Goes Too Far, Creates Al That Turns You Into an Anime Character
Thanks to researchers at video game company NCSoft, machine learning can turn you into anime.
By Matthew Gault
Aug 1 2019.8:27pm H Share # Tweet
iKAC-E: KI-V ET. Al./NCSOrT
подробнее»

Anime,RDR, Reshotka Democratic Republic фэндомы пидоры помогите,реактор помоги реактор помоги

Science Goes Too Far, Creates Al That Turns You Into an Anime Character Thanks to researchers at video game company NCSoft, machine learning can turn you into anime. By Matthew Gault Aug 1 2019.8:27pm H Share # Tweet iKAC-E: KI-V ET. Al./NCSOrT
КУПОН
НА 1 помощь КУПОН ДЕЙСТВУЕТ ДО 01.01.2077
ИСПОЛЬЗОВАТЬ ТОЛЬКО В СЛУЧАЕ КРАЙНЕЙ НЕОБХОДИМОСТИ
подробнее»

пидоры помогите,реактор помоги нейросети

КУПОН ДЕЙСТВУЕТ ДО 01.01.2077 ИСПОЛЬЗОВАТЬ ТОЛЬКО В СЛУЧАЕ КРАЙНЕЙ НЕОБХОДИМОСТИ