Нейронные сети

После того, как я проходил нейронные сети в ВУЗе, утекло достаточно много воды. Дошли наконец руки посмотреть старую и давно отложенную лекцию малого ШАД.

Из интересного:

В 2015 году прошёл момент, когда компьютер начал определять изображение лучше, чем человек (человеку достаточно трудно отличить обычную Хаски от сибирской Хаски).

Классические нейронные сети — это когда каждый нейрон связан со всеми нейронами предыдущего слоя, и там всё относительно просто (мы на лабах обучали распознаванию пиксельных символов). Но, если использовать их для обработки изображений, никаких ресурсов не хватит, поэтому используют Свёрточные Нейронные Сети. Это такой тип нейронных сетей, который использует лишь ограниченные матрицы весов (небольшого размера), которую «двигают» по всему обрабатываемому слою.

Например, можно обучить нейронную сеть на определение глаз на фотографии и потом быстро определять их на фотографии (второй слайд с описанием научной работы Gatys L.A. о стилизации изображений мне показался достаточно забавным. Лекция 2015 года, напомню).

Для решения задач, связанных с текстом (переводы, генерация текстов) используют Рекуррентные Нейронные Сети — это такие сети, в которых имеется обратная связь. Когда имеет значение последовательность. Тут уже можно писать ботов для, например, технической поддержки. Или моя давняя идея фикс — это перевести любые тексты в стилистику Достоевского. Когда компьютеры начнут писать программы сами для себя — это тоже рекуррентные нейронные сети.

Но магия начинается, когда мы начинаем совмещать этих два вида вместе. Сверточные + рекурентные сети дают нам, например, возможность перевести видео в текст (мне всегда было интересно, как это сделано). Там есть, известное видео, где один разработчик ходит по Амстердаму, и ему описывается всё увиденное. [забавно, что это видео было сделано с постобработкой, то бишь не в режиме реального времени. Так как iPhone 7 Plus уже вроде как мощнее моего эйира, то можно уже предположить, что скоро появятся приложения для людей с ограниченными возможностями по зрению. Навёл телефон, и тебе в режиме реального времени рассказали, что происходит на улице].

Сначала рекурентная, а потом сверточная. И можно делать генерацию изображений по тексту (например, помочь билд-редактору подобрать картинки к тексту).

Используя свёрточные сети + обучение с подкреплением, мы можем обучать сеть решать любые игры (например, одну и туже обучающую механику можно использовать для практически всех игр Atari). [note: шашки, например, решили почти брутфорсом — компьютер может свести любую партию в ничью, в шахматы уже немного сложнее).

P.S. На WWDC 2016 Apple презентовал две штуки: Basic Neural Network Subroutines (BNNS) и Convolutional Neural Networks (CNN). 

Тут более-менее человеческим языком описано. Другими словами, можно быть уже совсем тупым, просто берёшь и пользуешься. Например, чтобы задетектить лицо на фотографии, можно воспользоваться специально выделенной для этого штукой.

Версия для печатиВерсия для печати
  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 4
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя mike

Питон, я о нейронной сети, постигающей седловые точки. А не о ком угодно.

И да -- ВСЕ алгоритмы имеют элементы брутфорса -- переборов, пусть и не нелубокого, но глубже, чем может позволить себе человек.

+2
Аватар пользователя Dmitry

Что интересно, 30 лет назад (Е.Гик "Математика на шахматной доске") сомневались, сможет ли компьютер к-н. выиграть у гроссмейстера и думали, что его хватит только на анализ несложных окончаний. Теперь сильнейшие маэстро не могут свести партию вничью, а десяток лет назад для одного семифигурного эндшпиля был найден выигрыш в 517 ходов)!

вот он: Б. Крd2, Фh1, Кh2, Ч. Крf4, Лb7, Сb3, Kg5.

Страницы