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

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

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

В 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!

Читайте также

 

Комментарии

Страницы

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

Вспомнил поучительную и интересную книжку Евгения Гика "Математика на шахматной доске", кто не читал - гляньте.

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

 

Dmitry пишет:

на сегодняшний день (подчеркнул) компьютер белыми стабильно выигрывает

Что значит "стабильно выигрывает"? Выигрывает 100% партий? Можете привести пруфы?

з.ы. Так понимаю, ни автор, ни Piton квалифицированно в шахматы не играли.

И что?

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

И что?

не задавали бы таких вопросов.

отредактировал первоначальный вариант на "при правильной игре белые обычно выигрывают" (не в 100%).

а пруфы спросим автора, который не ответит:

+ где это "решено", что в шашках черные сводят игру к ничьей ("любую партию")?

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

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

Dmitry пишет:

отредактировал первоначальный вариант на "при правильной игре белые обычно выигрывают" (не в 100%).

Но могут и проиграть?

Блин, mike же уже подсказал правильную формулировку: "белые не проигрывают".

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

Но могут и проиграть?

Вы не видите разницы между "белые обычно выигрывают" и "черные всегда сводят игру к ничьей"?

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

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

Dmitry пишет:

Но могут и проиграть?

Вы не видите разницы между "белые обычно выигрывают" и "черные всегда сводят игру к ничьей"?

Я вижу разницу между вашим "белые всегда выигрывают" и правильным "белые не проигрывают".

А фраза "белые обычно выигрывают" не имеет смысла. Она подразумевает все три варианта - "выигрыш белых", "проигрыш белых", "ничья" - с преобладанием первого.

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

"белые всегда выигрывают"

1. спросите у любого шахматиста высших разрядов (от КМС и выше), что значит "в шахматах белые всегда обычно выигрывают", непредвзято объяснит, надеюсь)...

2. "всегда" - это у автора, но от человека, далекого от шахмат, меня устроит и формулировка "с преобладанием первого", которая опровергает авторское "решать любые игры... любую партию в ничью".

з.ы. да, "вничью" пишется слитно). 

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

Как утверждал известный практик и теоретик шахмат В.Раузер "Белые ходят 1.е2-е4 и выигрывают!" (о чем писал Д.Бронштейн, есть известный вариант в "сицилианке" его имени). Кстати, самый талантливый шахматист ушедшего века Б.Фишер (по ЭЛО, хотя Алехин, непобедимый чемпион, Ботвинник и Каспаров в свое время были лучшими) тоже предпочитал такой старейший за белых ход, и успешно.

К теме это не относится, как и шахматную ветку (блог) открывать не буду, шахматистов тут нет.

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

Шахматистов тут нет.

Да, спортсменов-шахматистов, скорее всего, тут нет. Но есть любители. И у них есть знакомые/друзья. Напрмер, мой отец был КМС, в доме было полно книг по терии. Бывало, читал; наивно думал найти там способ обыграть отца. :)

Зря спорите, друзья. Вы оба, полагаю, знаете, что первый ход даёт премущество над противником. Спор вышел из-за авторского утверждения, что с помощью нейронных сетей можно успешно решать задачи игр с седловыми точками. Конечно, можно! Но из-за ограничений, которые накладывает сложность сети, можно решать задачи,  лишь адекватные сложности сети. Простая сеть, отразившая в процессе обучения все седловые точки несложной игры, не будет проигрывать. Но если не сможет отразить, то будет и проигрывать. Автор не стал (поленился?) вдаваться в подробности и небрежен с русским языком.

Имхо покамест не создана нейронная сеть, обыгрывающая в шахматы брутфорсный суперкомп с предварительно заложенными опытными шахматистами дебютными схемами. Не знаю прецедента.  Но дело к этому идёт. :)

 

+1
Аватар пользователя Piton

mike пишет:

Имхо покамест не создана нейронная сеть, обыгрывающая в шахматы брутфорсный суперкомп с предварительно заложенными опытными шахматистами дебютными схемами. Не знаю прецедента.  Но дело к этому идёт. :)

Ты о чем, какой суперкомп? Насколько я знаю, уже давно, чтобы обыграть кого угодно, достаточно обычного ноутбука. И алгоритмы там уже давно не брутфорсные.

-1

Страницы