Информация об изменениях

Сообщение Re[5]: Нейросеть для чайников от 18.07.2018 15:47

Изменено 18.07.2018 16:20 Erop

Re[5]: Нейросеть для чайников
Здравствуйте, Khimik, Вы писали:

K>Здравствуйте, Erop, Вы писали:


E>>Попробуй теперь ещё раз прочитать мой длинный пост (например в конце http://rsdn.org/forum/philosophy/7198783.flat
Автор: Khimik
Дата: 17.07.18
)


K>Пока по-прежнему почти ничего не понимаю (. Наверно большая часть поста посвящена специфике обучения НС.

K>У меня возник такой вопрос.
K>Предположим, я пишу НС, которая распознаёт цифры в изображении 16*16 из готового набора шаблонов, например таких:

K>Image: c1b.JPG


K>Image: c2b.JPG


K>Т.е. задача крайне простая – если рисунок совпадает, например, с первым, то НС даёт 1.

K>Очевидно, для этого достаточно собрать НС из двух слоёв, первый 256 нейронов, второй 10 нейронов. Матрица весов будет 256*10=2560, и каждая строка этой матрицы будет представлять собой всё тот же рисунок буквы, как выше.
K>А теперь я хочу усложнить задачу: пусть НС распознаёт эти же цифры, но в произвольном положении, например так:

K>Image: c1bsh.JPG


K>Что нужно добавить в описанную двухслойную сеть, чтобы это заработало? Сколько слоёв надо добавить?


Я так понял, ты решил подавать на вход сети картинку побольше 16х16, а например, 20х20?
Ну, например, можно твою сеть заменить на CNN 16х16х3 -> 1х1х256, а потом 1х1х256 -> 1х1х10
Это будет аналог твоей сети, а потом сделать пулинг со всего окна до 1x1x10

Только проблема в том, что для решения таких задач НС плохо подходят и решают их плохо и смысла их использовать мало.
Надо более сложные задачи смотреть, вернее более подходящие для сети. Скачай себе MNIST, например, получишь картинки рукописных цифр, поймёшь о чём речь
Re[5]: Нейросеть для чайников
Здравствуйте, Khimik, Вы писали:

K>Предположим, я пишу НС, которая распознаёт цифры в изображении 16*16 из готового набора шаблонов, например таких:


K>А теперь я хочу усложнить задачу: пусть НС распознаёт эти же цифры, но в произвольном положении, например так:


K>Image: c1bsh.JPG


K>Что нужно добавить в описанную двухслойную сеть, чтобы это заработало? Сколько слоёв надо добавить?


Я так понял, ты решил подавать на вход сети картинку побольше 16х16, а например, 20х20?
Ну, например, можно твою сеть заменить на CNN 16х16х3 -> 1х1х256, а потом 1х1х256 -> 1х1х10
Это будет аналог твоей сети, а потом сделать пулинг со всего окна до 1x1x10

Только проблема в том, что для решения таких задач НС плохо подходят и решают их плохо и смысла их использовать мало.
Надо более сложные задачи смотреть, вернее более подходящие для сети. Скачай себе MNIST, например, получишь картинки рукописных цифр, поймёшь о чём речь