теперь еще и переводы
Sep. 29th, 2016 02:26 pmGoogle's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
Известная максима Марка Андриссена гласит: "ПО пожирает мир" (т.е. программное обеспечение подминает под себя и заменяет собой все больше физических видов деятельности в "реальном мире").
А в последние несколько лет у нас складывается порядок, при котором глубокое обучение пожирает ПО.
По транзитивности выходит, что глубокое обучение пожирает мир. И эта статья - еще один пример этого победоносного шествия глубокого обучения (многослойных нейронных сетей). Есть какая-то область с устоявшимися методами, алгоритмами, эвристиками, и тут приходят нейронные сети и одним махом перепрыгивают лучшие результаты до сих пор. На этот раз пришел черед машинного перевода.
У меня несколько смешанные чувства от таких новостей. Модели, которые строят нейронные сети, фундаментально намного более непроницаемы, чем методы, которые они заменяют - даже в такой области, как машинный перевод, где лучшие до сих пор подходы уже были статистическими и основанными на тренировке языковых моделей. Есть методы визуализации того, что учат разные слои сети, но они, когда работают, дают только очень приблизительное понимание. Если нейронные сети - это локальный тупик, т.е. есть какой-то максимум, которого они достигнут, но дальше этим путем не пройти, то на дороге к этому максимуму мы не получим полезной информации, которая может помочь в других подходах; мы получим только множество отлично работающих нейронных сетей, у каждой своя архитектура и ухищрения настройки, которые не складываются в общую теорию. Так мне кажется, по крайней мере, из моего дилетантского кресла.
Но очень круто, конечно.
Известная максима Марка Андриссена гласит: "ПО пожирает мир" (т.е. программное обеспечение подминает под себя и заменяет собой все больше физических видов деятельности в "реальном мире").
А в последние несколько лет у нас складывается порядок, при котором глубокое обучение пожирает ПО.
По транзитивности выходит, что глубокое обучение пожирает мир. И эта статья - еще один пример этого победоносного шествия глубокого обучения (многослойных нейронных сетей). Есть какая-то область с устоявшимися методами, алгоритмами, эвристиками, и тут приходят нейронные сети и одним махом перепрыгивают лучшие результаты до сих пор. На этот раз пришел черед машинного перевода.
У меня несколько смешанные чувства от таких новостей. Модели, которые строят нейронные сети, фундаментально намного более непроницаемы, чем методы, которые они заменяют - даже в такой области, как машинный перевод, где лучшие до сих пор подходы уже были статистическими и основанными на тренировке языковых моделей. Есть методы визуализации того, что учат разные слои сети, но они, когда работают, дают только очень приблизительное понимание. Если нейронные сети - это локальный тупик, т.е. есть какой-то максимум, которого они достигнут, но дальше этим путем не пройти, то на дороге к этому максимуму мы не получим полезной информации, которая может помочь в других подходах; мы получим только множество отлично работающих нейронных сетей, у каждой своя архитектура и ухищрения настройки, которые не складываются в общую теорию. Так мне кажется, по крайней мере, из моего дилетантского кресла.
Но очень круто, конечно.
no subject
Date: 2016-09-29 11:41 am (UTC)Представим себе что завтра будет создана нейронная сеть, способная на семантическую реконструкцию изображений - то есть принципиально решена проблема автономно управляемого автомобиля. Каким образом можно будет убедиться что эта нейронная сеть работает с приемлемым количеством ошибок?
no subject
Date: 2016-09-29 11:54 am (UTC)no subject
Date: 2016-09-29 11:56 am (UTC)Ну и нейронные сети анализирующие деятельность других нейронных сетей. А потом и управляющие ими.
Если мы вскарабкались на одну вершину (локальный максимум), то это еще не предел и не тупик, рядом еще может оказаться много других вершин.
no subject
Date: 2016-09-29 05:34 pm (UTC)no subject
Date: 2016-09-29 10:03 pm (UTC)no subject
Date: 2016-10-03 08:18 pm (UTC)no subject
Date: 2016-10-03 08:19 pm (UTC)И инструменты отладки для них неизвестны.
no subject
Date: 2016-09-29 11:43 am (UTC)no subject
Date: 2016-09-29 11:55 am (UTC)почему тупик?
Date: 2016-09-29 11:59 am (UTC)там пока все классно выглядит же - больше данных вливаешь, лучше ответ получаешь. Причем увеличение кол-во данных не означает необходимости увеличения сети.
единственное - статически анализировать нельзя, ну те действительно нельзя быть уверенным что в этом одном кейсе поведение будет как и ожидалось, прогнав сеть через какой-нибудь статический анализатор, только создать кейс и получить \ проверить, что ответ совпадает с ожиданием.
Если нет - переобучать :(
Re: почему тупик?
Date: 2016-09-29 12:03 pm (UTC)Re: почему тупик?
Date: 2016-09-29 02:58 pm (UTC)1. Сохраняют релевантность. Если посмотреть на примеры моделей, натренерованных на имджнете они показывают очень хорошие результаты на совершенно других задачах уже не связанных с классификацией самого имиджнета.
http://cs231n.github.io/transfer-learning/
Грубо говоря использование примитивов для того, чтобы не нужно было обучать слои низких уровней.
2. Обучение с помощью DNN является как раз очень гибким, проблема лишь в том, что те DNN, что мы знаем очень ограничены по ресурсам и особенно в плане сбора информации.
Увы, то что создала гениальная эволюция - это в одном законченном организме и нейронные сети И метод сбора информации сочетающий в себе разные уровни абстракций и все более усложняющиеся методы сбора этой информации, до этого еще далеко. Но, мы имеем право полагать, что дело всего лишь в вычислительном объеме и лет через 10 это уже не будет проблемой.
Re: почему тупик?
Date: 2016-09-29 07:31 pm (UTC)2. Меня весьма впечатлила и в значительной степени убедила статья https://arxiv.org/pdf/1604.00289.pdf
основной мой скептицизм по поводу гибкости DNN оттуда.
Re: почему тупик?
Date: 2016-09-29 08:34 pm (UTC)Ну и еще скажем так вот у нас недоступно, опять таки, из-за вычислительных ограничений, более гибкая настройка как активационных функций, так и гиперпараметров, т.к. это доорого.
Грубо говоря мы можем пока что прогнать туда-сюда веса используя очень простые вычисления. Природа умеет покруче ;)
То есть хочется сказать, что усе будет, надо немного подождать.
Приколькое видео в тему: https://www.youtube.com/watch?v=hc2Zj55j1zU
2. Я читал эту статью. Проблема в том, что нужно четко понимать и разделять проблему inferred знаний. Грубо говоря в куче даже казалось бы абстрактных проблем огромная часть проблемы уже решена.
Да и вообще огромный прорыв ожидается мной, когда мы перейдем через автоэнкодеры к системам, которые умеют сами классифицировать и накапливать информацию. Т.е. когда unsupervised и supervised подходы объединяться.
Ладно, что говорить, работать надо ;)
Re: почему тупик?
Date: 2016-09-29 03:38 pm (UTC)Результат обучения нейронной сети технически можно сохранить, но со стороны кажется, что устойчивость и надежность этого сохранения на много порядков ниже.
Для программы , алгоритм которой понятен, можно напечатать на бумаге саму программу или просто алгоритм, могут быть люди, (и много людей). которые изучили алгоритм и поняли его, и могут написать по памяти.
С результатами обучения нейронной сети все будет очень грустно если результат обучения испортится в нескольких байтах (или нескольких килобайтах) и при этом массив исходных данных для обучения как-то окажется недоступен.
Учитывая, как быстро на практике устаревают современные средства хранения информации, это очень вероятно.
Если какое-нибудь ноу-хау "старого" машинного перевода еще можно было сохранить в виде, в котором его потом можно переиспользовать, даже если программа-клиент утрачена или перестала работать на новой архитектуре, то с DNN это гораздо менее реально, навскидку - без очень специального ПО результат обучения - просто куча байт, недоступная пониманию человека.
Re: почему тупик?
Date: 2016-09-29 03:46 pm (UTC)Re: почему тупик?
Date: 2016-09-30 08:15 am (UTC)Если есть актуальная задача, значит есть и данные на которых можно обучаться
Мы сами нейросети.
Date: 2016-09-29 12:17 pm (UTC)Re: Мы сами нейросети.
Date: 2016-09-29 12:23 pm (UTC)См. заглавие.
Date: 2016-09-29 12:32 pm (UTC)Re: См. заглавие.
Date: 2016-09-29 02:21 pm (UTC)Да, и это плохо.
Date: 2016-09-29 02:35 pm (UTC)Re: Да, и это плохо.
Date: 2016-09-29 03:03 pm (UTC)Re: См. заглавие.
Date: 2016-09-29 03:01 pm (UTC)1. Человеческий мозг это конечная машина тьюринга.
2. Мы (люди) довольно успешно решаем задачу создания все более и более универсальных машин тьюринга и предела не видно.
3. Когда-то наши возможности встретятся с конкретной реализацией. И будет это, вполне возможно, довольно скоро.
no subject
Date: 2016-09-29 12:35 pm (UTC)no subject
Date: 2016-09-29 12:35 pm (UTC)Что реально сложно и непонятно – это common sense, отвечание на вопросы, рассуждения. Вот это, видимо, следующий уровень.
Хм-ммм...
Date: 2016-09-29 12:51 pm (UTC)Я правильно понимаю основной посыл Вашего поста, что нейронки (столблю за собою парафраз апокрифически-стругацкого: "А унутре у него НЕЙРОНКА!" :))) суть есть голимая (тактическая) эмпирика, тогда как стратегически человечеству выгоднее всё же "документированное" достижение тех же целей с полным (ну или достаточным) пониманием деталей процесса???
С уважением.
P.S. Вообще тут я наблюдаю некое смешение (не Вами!) сущностей по принципу наличия сходства ("и у самолёта, и у крокодила есть хвост!").
Иными словами, потенциальная возможность и приемлемость непрозрачного функционирования непрозрачных нейронок мотивируется/обосновывается тем, что ведь "уже существует" нынешняя непрозрачность программно-аппаратных монстров.
При этом напрочь игнорируется важное различие: непрозрачность имеющаяся привнесена, она "количественная", обусловленная повышением уровней абстракции с введением всё новых сущностей и лавинообразным "митозом" взаимных связей и реакций - т.е. "(не)проницаемость", "(не)понимаемость" тут обратимы и степень детерминированности системы и её поведения пропорциональны усилиям, вложенным в её упорядочивание (включая и должное к-во взмахов бритвой Оккама :)).
Тогда как непрозрачность нейронок - штука "качественная", врождённая, имманентная, если угодно.
Вот как-то так. Извините за трюизмы.
P.P.S. Вдруг вспомнился роман Сергея Павлова "Лунная радуга". С вашего позволения, небольшая цитата оттуда "по теме":
То есть третья группа умов должна рассудить спор двух первых. Так и делаем. Земля не оскудела умами. По любому вопросу безопасности Ближнего Внеземелья создаем ученые советы, комиссии, подкомиссии, комитеты, агентства. Трудно даже сказать, сколько их работает под эгидой МУКБОПа. Международных и региональных. Специальных, функциональных, экспертных, координационных. Всяких. Нагромождаем друг на друга этажи умов, ярусы авторитетов. Вдобавок теперь нас прижимают к стене «сюрпризы» Дальнего Внеземелья. Как быть? Уповать на неисчерпаемость интеллектуальных ресурсов родимой планеты?
Re: Хм-ммм...
Date: 2016-09-29 06:31 pm (UTC)Что здесь общего с нейронными сетями? Ну, они тоже работают, но мы не понимаем досконально, как они работают и почему. Какой-то блоб, который непонятно как дизассемблировать...
Re: Хм-ммм...
Date: 2016-09-29 08:41 pm (UTC)Re: Хм-ммм...
Date: 2016-10-01 08:39 am (UTC)no subject
Date: 2016-09-29 01:13 pm (UTC)Ага, и более того.
Date: 2016-09-29 01:27 pm (UTC)no subject
Date: 2016-09-29 01:33 pm (UTC)Забавно, лет 10 назад вроде считалось наоборот - что нейронным сетям не побить спициализированные модели.
no subject
Date: 2016-09-29 01:54 pm (UTC)А мы похохочем.
Впрочем от пИсателей такого рассказа не дождешся. Ибо оне, пЕсатели просто не понимают предмета о котором пишут.
no subject
Date: 2016-09-29 02:25 pm (UTC)?
Date: 2016-09-29 03:13 pm (UTC)Почему "немотивированное"? Очень даже мотивированное.
Мотивом тут является желание выразить несогласие с Вами в угодной Вашему оппоненту форме.
Ну или наеборот - нежелание сдерживать свои эмоции и облекать несогласие с Вами в корректные формулировки.
С уважением.
no subject
Date: 2016-09-29 03:01 pm (UTC)Ну какая разница, "полиномом" мы эту поверхность изобразили коэффициенты которого имеют смысл (или вообще таблицей условно линейных областей), или вывели аналитическое выражение которое компактно представляет это "поверхность отклика"?
С точки зрения использования на практике такое "интерполяционное" решение может быть лучше на порядки, поскольку учитывает кучу поправок нелинейных. Хотя для понимания и вывода неких "законов бытия" это печально... Все знание представлено в стиле даосизма какого то.
no subject
Date: 2016-09-29 03:02 pm (UTC)PS что за мода запрещать редактирование комментариев?
no subject
Date: 2016-09-29 07:25 pm (UTC)no subject
Date: 2016-09-30 02:21 am (UTC)аналитика vs чис. методы
Date: 2016-10-01 09:08 pm (UTC)и avva, насколько я понимаю, говорит о том, что отказ от первых в угоду вторых таит опасность потери контроля над работой таких систем (никакого анализа, доказуемости корректности и проч. все заменяется "на практике хорошо работает")
п.с. кстати, недавно токо прочел про универсальную аппроксимационную теорему, и все как бы стало на свои места - нейронные сети - это просто удобный вариант аппроксимации непрерывных функций с функцией невязки, близкой к человеческой (если речь об аппроксимации функций человеческого восприятия).
no subject
Date: 2016-09-29 05:20 pm (UTC)Oh, the irony.
no subject
Date: 2016-09-29 08:42 pm (UTC)Re: Нейронные сети распознают лица
Date: 2016-09-30 11:08 am (UTC)Напомнило, как блоге КРОКа на хабре был рассказ о системе видеонаблюдения с распознаванием лиц: ошибок меньше, чем у вахтера сидящего на проходной.
Особенно гигантская разница для тяжелых сценариев, например 99% верное распознавание личностей азиатов (которые для неопытных европейцев на одно лицо).
no subject
Date: 2016-09-29 09:30 pm (UTC)https://www.youtube.com/watch?v=-96BEoXJMs0
no subject
Date: 2016-09-29 11:21 pm (UTC)no subject
Date: 2016-10-01 07:02 pm (UTC)Но попробуйте обучить нейронку находить схожесть между карикатурой и оригиналом, а ее легко видит даже ребенок... Задача из жизни - анализ биржевых графиков: очень трудно заставить сеть видеть то, что видит тренированный мозг (мне пока не удалось).
no subject
Date: 2016-10-07 03:15 am (UTC)Честно? Я думаю, это либо уже сделано, либо кто-то вот-вот сделает. Поскольку задача как раз для нейронных сетей по определению.