Нейронные сети произвели фурор в IT, и интерес к ним не угасает. Эта подборка видеолекций внесёт ясность в понимание процессов нейросети.

Нейронные сети. Введение

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

Немного биологии

В этом видеоуроке речь пойдет о том, как работают нейроны и как они передают сигнал, основываясь на биологических процессах. Мозг, как у животного, так и у человека, похож на нейронную сеть, которая состоит из нейронов, что в свою очередь состоят из дендритов, аксонов и прочих отростков. Задача этих элементов – принимать сигналы извне и отправлять обработанную информацию соседним клеткам.

В целом об искусственной нейронной сети

Автор курса в этом видео подробно рассказывает о строении нейросети с примерами и картинками. Настоящая биологическая нейронная сеть имеет трёхмерную структуру. Это значит, что отследить, как соединены между собой клетки, почти невозможно. Поэтому зачастую нейросети создаются плоскими, чтобы можно было с ними работать, не имея огромных компьютерных мощностей. Также условились, что сеть состоит из трёх слоев искусственных нейронов: входного, скрытого и выходного.

Искусственный нейрон

В этом видеотуториале речь пойдет о строении нейрона. В общем случае нейрон имеет такое строение: входной сигнал > блок, объединяющий синаптические веса, блок суммирования и блок нелинейного преобразования > выходной сигнал. Как только входной сигнал попал в нейрон, он умножается на соответствующий вес. После этого умноженные данные проходят агрегацию и подаются на выход или попадают под действие функции активации.

Структура нейронной сети

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

Нюансы работы нейронной сети

Автор рассматривает важные темы работы нейронной сети, которые касаются входного и выходного слоя. Нормализация и масштабирование, метод “Один из N”, вопросы организации сетей и наличие нескольких скрытых слоев – вот некоторые из тем, рассматриваемых в этой видеолекции.

Далее следуют 3 очень важные видеолекции по обучению нейросети, к которым нужно подойти со всей серьезностью.

Обучение сети

В этом уроке речь пойдет о том, как работают нейросети, и как добиться того, чтобы они решали поставленные задачи, т. е. что нужно сделать с сетью, чтобы она работала правильно. Любая сеть обладает двумя уровнями жизненного цикла: обучение и функционирование. В свою очередь обучение делится на: обучение с учителем и без него.

Технология обучения сети. Часть 1

Технологий обучения сети очень много, т. к. каждый специалист в этом направлении старается привнести что-то новое, имея свои правила и принципы. Одной из основных технологий является “Метод наискорейшего спуска”. Этот метод имеет следующие характеристики: используется только при обучении с учителем, важны знания по высшей математике, от погрешности и силы входного сигнала зависит вес.

Технология обучения сети. Часть 2

Этот видеоурок автор начинает с объяснения темы обучения скрытых слоев. Ранее в курсе рассматривались сети, которые имели только входной и выходной слои. В таких сетях всё просто – меняются веса нейронов, и операция повторяется. Но когда есть скрытые нейроны, всегда непонятно, за что они отвечают, и как у них менять веса. На помощь приходит метод обратного распространения ошибки.

Работа одного нейрона

В этом уроке мы переходим непосредственно к практике. Весь материал рассчитан на людей, которые не знакомы с языками программирования, поэтому обзор происходит на готовых примитивных программах, написанных на C#. В начале урока автор производит подготовительные мероприятия и устанавливает необходимый софт. Практическая часть основана на рассмотрении характеристик и принципов работы одного нейрона.

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

Рождение мифа

Исследователи и компании, которые работают с большими объемами данных, применяют нейросети еще с восьмидесятых годов, а вот рядовые земляне обращают внимание на прогресс в этой области только после показательных побед машин над людьми. Deep Blue обыграл Каспарова! Watson обошел людей в Jeopardy! А теперь гугловский AlphaGo победил Ли Седоля - одного из лучших игроков в го на сегодняшний день.

Последний случай особенно интересен. Выигрышную стратегию в го просто невозможно запрограммировать традиционными методами. Количество вероятных комбинаций уже после первого хода здесь равно 129 960 (в шахматах, для сравнения, - четыреста), а за весь матч их набирается больше, чем атомов во Вселенной. Алгоритм просчета ходов не в состоянии продумать все возможные комбинации и проигрывает профессиональным игрокам, которые полагаются на интуицию, выработанную годами тренировок.

У AlphaGo есть если не интуиция, то кое-что очень на нее похожее. Система долгое время обучалась на сотнях тысяч сыгранных людьми партий и играла сама с собой. Она научилась «чувствовать» перспективные ходы и уже на их основе прогнозирует игру на несколько ходов вперед. То есть программа переняла ту человеческую черту, которую люди используют ежесекундно, а вот переложить в алгоритм затрудняются.

С легкой руки журналистов AlphaGo превратилась из банальной нейронной сети, описанной еще шестьдесят лет назад, в Искусственный Интеллект, которому недалеко и до обретения самосознания. На самом деле это, конечно же, не так. AlphaGo - это более-менее стандартный пример многослойной нейронной сети, которая способна эффективно решать одну конкретную задачу. Присущая ей «интуиция» - это известное свойство системы, обученной на множестве примеров. Однако считать нейронные сети чересчур разрекламированной игрушкой тоже не стоит.

Перцептрон и триста пород собак

Впервые идею искусственной нейронной сети предложил нейрофизиолог Фрэнк Розенблатт в 1957 году и реализовал ее в нейрокомпьютере «Марк-1» в 1960-м. Математическая модель такой сети получила имя «перцептрон», а само устройство представляло собой небольшой компьютер, снабженный табло из нескольких сотен фотоэлементов. Показывая компьютеру изображения, а затем корректируя весовые коэффициенты связей искусственных нейронов, можно было научить нейронную сеть распознавать геометрические фигуры и некоторые буквы алфавита.

По нынешним временам «Марк-1» - это игрушка. К тому же она страдала от множества проблем: к примеру, изображения не распознавались при деформации или повороте. Сейчас понятно, что при тогдашнем уровне вычислительной мощности многие вещи просто нельзя было реализовать. Перцептроны интересны скорее с исторической точки зрения - реальных задач они не решали. В 1969 году Марвин Минский и Сеймур Паперт описали эти опыты в книге «Перцептроны», после чего исследования в области нейросетей были свернуты в пользу, как тогда казалось, более перспективных символьных вычислений.

Новый всплеск интереса к нейронным сетям произошел лишь в 1986 году, когда появился способ машинного обучения по методу обратного распространения ошибки. Он позволил существенно повысить скорость и качество обучения нейросетей. Однако вычислительные ресурсы все еще были ограничены, да и действительно больших объемов данных для обучения нейросетей не было. Поэтому они существовали в основном как исследовательские проекты и применялись для решения очень ограниченного круга задач. Таких, которые не требуют слишком много мегагерцев или мегабайтов, - к примеру, распознавание текста.

В 2012 году произошло событие, которое коренным образом изменило отношение к нейросетям. Сеть SuperVision, разработанная в Торонтском университете, с большим отрывом выиграла конкурс распознавания объектов на изображениях ImageNet LSVRP (Large-Scale Visual Recognition Challenge). Число ее ошибок составило 16,4%, тогда как программа, занявшая второе место, ошибалась в 26% случаев. Для сравнения: человек делает ошибки в 5% случаев. Но удивительнее всего было то, что для предварительного обучения сети использовался не кластер, а обычный компьютер с двумя видеокартами NVIDIA. Тренировка заняла около недели.

Это был первый случай, когда нейросеть превзошла классические алгоритмы машинного зрения в очень сложном и специфичном тесте. База изображений включала в себя не только простые объекты вроде автомобилей, автобусов, столов и стульев, но еще и триста пород собак, из которых два десятка - разновидности терьеров.

Звучит курьезно? Пожалуй. Но вот что важно: тебе никогда не узнать столько пород собак, а машина их уверенно распознает. И речь не о каком-то огромном компьютере IBM, а о системе вроде тех, что собирают себе любители игр с крутой графикой.

Назад в будущее

SuperVision не случайно стала символом новой эры нейронных сетей. Классификация изображений - нечто гораздо более сложное и высокоуровневое, чем просто разбор буковок на бумаге. Сказать, что отличает букву А от всех остальных букв алфавита, сможет даже ребенок, но попробуй с ходу рассказать об отличительных признаках, допустим, облака. В чем конкретно его разница по сравнению с остальными объектами, которые ты видишь? В голову приходят слова «белый», «небо», «кучевые» и так далее. Это множество параметров, о каждом из которых тоже нужно иметь представление. Что такое «белый»? А «небо»?

Сейчас эту задачу решают при помощи метода Deep Learning (глубинное обучение), суть которого в том, чтобы объединить в сеть большое количество слоев нейронов (в SuperVision их было пять, в современных сетях доходит до сотен). Получается что-то вроде иерархии абстракций. А потом сети скармливаются примеры , по которым она «видит», как выглядит облако в различных ситуациях, и может понять, как его идентифицировать. В случае ошибки система перенастраивает сама себя.

Метод опробованный и действенный, но, чтобы он работал, должно соблюдаться два требования. Во-первых, примеров должно быть действительно много. Не сотни и даже не тысячи, а десятки и сотни тысяч, и чем больше, тем лучше будут результаты. Во-вторых, сеть должна быть действительно большой и состоять из сотен тысяч или даже миллионов нейронов, объединенных во множество слоев. В процессе обучения такого ИИ примеры прогоняются через всю сеть с постоянной коррекцией ошибок. Требования к вычислительным мощностям получаются соответствующие.

Раньше подобные задачи пытались решить с помощью кластеров из тысяч машин. К примеру, в Google делали нейросеть, которая работала на 16 тысячах процессорных ядер. Что, конечно же, делало ее использование совершенно нерентабельным.

В 2014 году в Google предприняли новую попытку и на этот раз использовали глубинное обучение. Результатом стала сеть GoogLeNet из 22 слоев, которая, по словам авторов, так же как и SuperVision, может быть обучена на нескольких высококлассных GPU за неделю. На конкурсе ImageNet гугловская сеть показала себя великолепно: число ошибок снизилось до 6,7%. Почти как у человека!

Если ты думаешь, что это впечатляет, то ты не знаешь последних новостей. Сегодняшние нейросети распознают объекты не только не хуже, но даже лучше человека, а также умеют рассказывать, что изображено на фотографии. Еще в конце 2014 года исследователи из Google и Стэнфордского университета показали нейросеть, способную генерировать осмысленные подписи к фотографиям. Даже несмотря на большой процент ошибок, это впечатляло.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Белорусский студент научил нейросеть узнавать персонажей «Игры престолов»

Двадцатилетний программист Павел Гончаров заканчивает четвертый курс Гомельского государственного технического университета имени Сухого, а после занятий обучает нейронные сети в крупной международной IT-компании Intervale. Первую половину дня молодой человек учится, а ближе к обеду приходит в офис, чтобы заниматься любимым делом. В интервью парень рассказал нам об опасности «восстания машин», искусственном интеллекте, безработице и котиках.

Нейросеть может обеспечить полную иллюзию общения

В настоящее время работаю над исследовательским проектом по созданию умного чат-бота. Его можно обучить общаться с клиентами на материале из соцсетей и форумов - там бесконечное количество речевых ситуаций.

- Ты сам это придумал или кто-то так уже делал?

Конечно, я не первый. Был случай, когда нейросеть обучали на форуме техподдержки Linux. В итоге она переписывалась с клиентом, подражая оператору, спрашивала IP-адрес, просила вводить команды. Получилась полная иллюзия живого общения!

- Такая же штука победила чемпиона по игре Го?

Нет, то была довольно сложная нейросеть AlphaGo. Прежде чем нейронные сети стали играть в игры, они долгое время развивались в виде теории. Концепцию сформулировали еще в 1940-х годах. Потом было написано много научных статей, но компьютеры еще не могли посчитать большие объемы информации.

- Нужны какие-то особые компьютеры?

С появлением видеокарт на архитектуре CUDA программисты стали обучать нейросети на обычных игровых компьютерах.

«Если программа только и делает, что ищет котиков на фотографиях, не стоит беспокоиться за судьбу человечества»

В прессе часто преувеличивают опасность нейросетей, боятся «восстания машин». Как считаешь, все и правда так плохо?

Возможности нейросети зависят от архитектуры. Например, сверточные сети подходят для изображений, а LSTM и GRU- для последовательностей. Есть самоорганизующиеся карты Кохонена, они умеют разделять данные по определенному признаку. Говоря простым языком, нейросети распознают картинки, тексты, классифицируют данные и даже пишут небольшие заметки. Если программа только и делает, что ищет котиков на фотографиях, не стоит беспокоиться за судьбу человечества.

- Может быть, журналисты намеренно поднимают шум, опасаясь потерять работу?

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

- А когда нейросеть осознáет себя?

Думаю, лет через пять. Другой вопрос - сколько ресурсов понадобится. Для победы в игре Го работало здание серверов.

- Странно, ведь нейросети копируют устройство нейронов в мозге, а он занимает не так много места.

Нейросеть - не копия, а упрощенная модель работы нейронов.

- Как она понимает, что нужно победить в игре?

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

- В смысле - «наказание»? Месяц без интернета?

Это сложно объяснить. Допустим, если цель программы - получить некое максимальное значение, то каждый раз, когда мы будем мешать достичь результата, то есть отнимать что-то от финального значения, нейросеть воспримет это как наказание. Допустим, в настольной игре за «максимальное значение» можно принять удачные ходы, которые увеличивают вероятность победы.

«Нейронные сети пока недостаточно совершенны для серьезных военных задач или банковских операций с крупными суммами»

- Чему ты пробовал обучить нейронные сети?

В «Игре престолов» много действующих лиц, и сложно запомнить все имена. Как-то раз написал программу, которая читала «Песнь Льда и Пламени» Джорджа Мартина и определяла имена героев. Но в основном моя научная работа связана с классификацией сжатых данных, с изображениями.

Зачем Беларуси нейросети

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

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

- Как это работает?

Люди постоянно находят знакомые черты в окружающих предметах: например, камень, похожий на лицо, или морозные узоры на стекле. В отличие от нас, нейронные сети могут запоминать миллионы таких соотношений и мгновенно находить общие черты.

- Слышал, специалисты по нейросетям востребованы в ЦЕРНе. Хотел бы переехать в Швейцарию?

Однажды я выступал с докладом в Томске на конференции, посвященной анализу Big Data, и там присутствовали сотрудники ЦЕРНа. Им действительно нужны программисты. В штате много физиков, но недостаточно айтишников: люди работают на устаревшем ПО и кто-то должен все это переписать. Может быть, удастся там поработать.

Большой адронный коллайдер. Фото: Максим Малиновский

- А в Беларуси есть спрос на таких специалистов?

Конечно, ведь по сравнению с обычными программистами нас очень мало. Я слышал, нейросети изучают в Институте проблем информатики, БГУИРе, может еще в БГУ. В Гомеле своей школы пока нет. В ГГТУ на моем курсе была только одна лекция по нейронным сетям. К счастью, есть ресурсы типа coursera.org с бесплатной регистрацией.

«Нейросеть плохо понимает речь: она может найти похожее изречение, провести параллели между словами и уловить какие-то связи, но полноценным разговором это сложно назвать»

- Где сегодня используются нейросети?

Везде: на заводах, в банках, в индустрии развлечений. На конференции в Томске общался с сотрудницей Лаборатории Касперского: они внедряют самообучающиеся системы для обнаружения вирусных атак. А вообще, нейронные сети пока недостаточно совершенны для серьезных военных задач или банковских операций с крупными суммами.

- А для медицины?

Тут победа за роботами. Например, приложение Kardia работает с небольшим устройством для ЭКГ размером с коробок спичек, которое нужно всегда носить с собой. Разработчики обучили нейронную сеть предсказывать проблемы с сердцем на основе полученных с устройства данных. По снимкам опухоли нейросеть ставит диагноз.

Почему бы тогда в больницах не сократить штат? Дешевле купить пару игровых видеокарт с обученными нейросетями, чем содержать персонал.

Потому что, в отличие от нейросети, врач способен обосновать свое решение.

- Если будут вопросы, можно обратиться к разработчику. Разве нет?

Он не возьмет на себя ответственность за ошибку программы. К тому же разработчики не знают, почему нейросеть принимает то или иное решение. Попытки объяснить их поведение продолжаются по сей день. Глубокие нейронные сети - это «черный ящик».

- Есть успехи?

Это как посмотреть… Благодаря изучению нейросети Deep Dream появилось приложение Prisma. Ученые пытались понять, что происходит в сердце нейросети. Изначально она умела только находить животных на фотографиях. Из нее вытащили коэффициенты и применили к изображениям в обратную сторону. На выходе снимки получались собранными из лап, глаз, шерсти животных.

- А при чем здесь Prisma?

Она работает по тому же принципу, только вместо фотографий животных через нейросеть пропустили картины в разных художественных стилях. Им удалось извлечь цифровой эквивалент того, что называется художественным направлением, «почерком» или манерой отдельно взятого художника. Теперь миллионы девушек в Instagram делятся собственными портретами в исполнении знаменитых художников.

Искусственный интеллект - добро или зло?

- Есть профессия, которую нельзя заменить нейросетями?

Пока что это все, что связано с личным общением. Нейросеть плохо понимает речь: она может найти похожее изречение, провести параллели между словами и уловить какие-то связи, но полноценным разговором это сложно назвать.

- То есть сарказм роботам недоступен?

Если при обучении указать, что в одних предложениях есть сарказм, а в других нет, то нейросеть в процессе тренировки запомнит нужные зависимости. Это позволит находить сарказм и определять его степень. Когда я устраивался на работу, мне дали задачу написать программу для анализа эмоционального состояния клиента кол-центра. Думаю, ее можно перевести в режим «сарказм / не сарказм».

«Даже если появится развитый искусственный интеллект, он будет таким, как мы захотим. О том, что такое „хорошо“ и что такое „плохо“, он узнает от нас»

- Помимо операторов кол-центров и копирайтеров кто потеряет работу в ближайшие годы?

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

По некоторым прогнозам, к 2050 году нейросети займут чуть ли не половину рабочих мест на планете. Что делать миллионам людей, которые лишатся работы через 20-30 лет?

Получать безусловный доход, который уже пробуют выплачивать в развитых странах. Машины будут работать на нас и производить все необходимые блага. Роботу не нужны деньги, у него нет корысти и амбиций. Даже если появится развитый искусственный интеллект, он будет таким, как мы захотим. О том, что такое «хорошо» и что такое «плохо», он узнает от нас.

- А если ИИ посчитает, что человечество - это плохо?

Опасения могут свести на нет любую инновацию: атомная энергетика - это ядерная бомба, электричество - это электрошокеры и так далее. Если ничего не делать, то ничего не произойдет, а если делать хоть что-то, всегда будет вероятность хорошего и плохого исхода. Я считаю, нельзя отказываться от прогресса.

- Но к интернету продвинутый ИИ подключать не стоит?

  • Машинное обучение ,
  • Разработка под e-commerce
  • С момента описания первого искусственного нейрона Уорреном Мак-Каллоком и Уолтером Питтсом прошло более пятидесяти лет. С тех пор многое изменилось, и сегодня нейросетевые алгоритмы применяются повсеместно. И хотя нейронные сети способны на многое, исследователи при работе с ними сталкиваются с рядом трудностей: от переобучения до проблемы «черного ящика».

    Если термины «катастрофическая забывчивость» и «регуляризация весов» вам пока ни о чем не говорят, читайте дальше: попробуем разобраться во всем по порядку.

    За что мы любим нейросети

    Основное преимущество нейронных сетей перед другими методами машинного обучения состоит в том, что они могут распознавать более глубокие, иногда неожиданные закономерности в данных. В процессе обучения нейроны способны реагировать на полученную информацию в соответствии с принципами генерализации, тем самым решая поставленную перед ними задачу.

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

    Обучение нейросетей 101

    Одним из ключевых элементов нейронной сети является способность обучаться. Нейронная сеть - это адаптивная система, умеющая изменять свою внутреннюю структуру на базе поступающей информации. Обычно такой эффект достигается с помощью корректировки значений весов .

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

    Как правило, это делают с помощью метода обратного распространения ошибки : для каждого из обучающих примеров веса корректируются так, чтобы уменьшить ошибку. Считается, что при правильно подобранной архитектуре и достаточном наборе обучающих данных сеть рано или поздно обучится.

    Существует несколько принципиально отличающихся подходов к обучению, в привязке к поставленной задаче. Первый - обучение с учителем . В этом случае входные данные представляют собой пары: объект и его характеристику. Такой подход применяется, например, в распознавании изображений: обучение проводится по размеченной базе из картинок и расставленных вручную меток того, что на них нарисовано.

    Самой известной из таких баз является ImageNet . При такой постановке задачи обучение мало чем отличается от, например, распознавания эмоций, которым занимается Neurodata Lab . Сети демонстрируются примеры, она делает предположение, и, в зависимости от его правильности, корректируются веса. Процесс повторяется до тех пор, пока точность не увеличивается до искомых величин.

    Второй вариант - обучение без учителя . Типичными задачами для него считаются кластеризация и некоторые постановки задачи поиска аномалий. При таком раскладе истинные метки обучающих данных нам недоступны, но есть необходимость в поиске закономерностей. Иногда схожий подход для предобучения сети в задаче обучения с учителем. Идея состоит в том, чтобы начальным приближением для весов было не случайное решение, а уже умеющее находить закономерности в данных.

    Ну и третий вариант - обучение с подкреплением - стратегия, построенная на наблюдениях. Представьте себе мышь, бегущую по лабиринту. Если она повернет налево, то получит кусочек сыра, а если направо - удар током. Со временем мышь учится поворачивать только налево. Нейронная сеть действует точно так же, подстраивая веса, если итоговый результат - «болезненный». Обучение с подкреплением активно применяется в робототехнике: «ударился ли робот в стену или остался невредим?». Все задачи, имеющие отношение к играм, в том числе самая известная из них - AlphaGo, основаны именно на обучении с подкреплением.

    Переобучение: в чем проблема и как ее решить

    Главная проблема нейросетей - переобучение. Оно заключается в том, что сеть «запоминает» ответы вместо того, чтобы улавливать закономерности в данных. Наука поспособствовала появлению на свет нескольких методов борьбы с переобучением: сюда относятся, например, регуляризация, нормализация батчей, наращивание данных и другие. Иногда переобученная модель характеризуется большими абсолютными значениями весов.
    Механизм этого явления примерно такой: исходные данные нередко сильно многомерны (одна точка из обучающей выборки изображается большим набором чисел), и вероятность того, что наугад взятая точка окажется неотличимой от выброса, будет тем больше, чем больше размерность. Вместо того, чтобы «вписывать» новую точку в имеющуюся модель, корректируя веса, нейросеть как будто придумывает сама себе исключение: эту точку мы классифицируем по одним правилам, а другие - по другим. И таких точек обычно много.

    Очевидный способ борьбы с такого рода переобучением – регуляризация весов . Она состоит либо в искусственном ограничении на значения весов, либо в добавлении штрафа в меру ошибки на этапе обучения. Такой подход не решает проблему полностью, но чаще всего улучшает результат.

    Второй способ основан на ограничении выходного сигнала, а не значений весов, - речь о нормализации батчей . На этапе обучения данные подаются нейросети пачками - батчами. Выходные значения для них могут быть какими угодно, и тем их абсолютные значения больше, чем выше значения весов. Если из каждого из них мы вычтем какое-то одно значение и поделим результат на другое, одинаково для всего батча, то мы сохраним качественные соотношения (максимальное, например, все равно останется максимальным), но выход будет более удобным для обработки его следующим слоем.

    Третий подход работает не всегда. Как уже говорилось, переобученная нейросеть воспринимает многие точки как аномальные, которые хочется обрабатывать отдельно. Идея состоит в наращивании обучающей выборки , чтобы точки были как будто той же природы, что и исходная выборка, но сгенерированы искусственно. Однако тут сразу рождается большое число сопутствующих проблем: подбор параметров для наращивания выборки, критическое увеличение времени обучения и прочие.


    Эффект от удаления аномального значения из тренировочного свода данных ()

    В обособленную проблему выделяется поиск настоящих аномалий в обучающей выборке. Иногда это даже рассматривают как отдельную задачу. Изображение выше демонстрирует эффект исключения аномального значения из набора. В случае нейронных сетей ситуация будет аналогичной. Правда, поиск и исключение таких значений - нетривиальная задача. Для этого применяются специальные техники - подробнее о них вы можете прочитать по ссылкам ( и ).

    Одна сеть – одна задача или «проблема катастрофической забывчивости»

    Работа в динамически изменяющихся средах (например, в финансовых) сложна для нейронных сетей. Даже если вам удалось успешно натренировать сеть, нет гарантий, что она не перестанет работать в будущем. Финансовые рынки постоянно трансформируются, поэтому то, что работало вчера, может с тем же успехом «сломаться» сегодня.

    Здесь исследователям или приходится тестировать разнообразные архитектуры сетей и выбирать из них лучшую, или использовать динамические нейронные сети. Последние «следят» за изменениями среды и подстраивают свою архитектуру в соответствии с ними. Одним из используемых в этом случае алгоритмов является метод MSO (multi-swarm optimization).

    Более того, нейросети обладают определенной особенностью, которую называют катастрофической забывчивостью (catastrophic forgetting). Она сводится к тому, что нейросеть нельзя последовательно обучить нескольким задачам - на каждой новой обучающей выборке все веса нейронов будут переписаны, и прошлый опыт будет «забыт».

    Безусловно, ученые трудятся над решением и этой проблемы. Разработчики из DeepMind недавно предложили способ борьбы с катастрофической забывчивостью, который заключается в том, что наиболее важные веса в нейронной сети при выполнении некой задачи А искусственно делаются более устойчивыми к изменению в процессе обучения на задаче Б.

    Новый подход получил название Elastic Weight Consolidation (упругое закрепление весов ) из-за аналогии с упругой пружинкой. Технически он реализуется следующим образом: каждому весу в нейронной сети присваивается параметр F, который определяет его значимость только в рамках определенной задачи. Чем больше F для конкретного нейрона, тем сложнее будет изменить его вес при обучении новой задаче. Это позволяет сети «запоминать» ключевые навыки. Технология уступила «узкоспециализированным» сетям в отдельных задачах, но показала себя с лучшей стороны по сумме всех этапов.

    Армированный черный ящик

    Еще одна сложность работы с нейронными сетями состоит в том, что ИНС фактически являются черными ящиками. Строго говоря, кроме результата, из нейросети не вытащишь ничего, даже статистические данные. При этом сложно понять, как сеть принимает решения. Единственный пример, где это не так - сверточные нейронные сети в задачах распознавания. В этом случае некоторые промежуточные слои имеют смысл карт признаков (одна связь показывает то, встретился ли какой-то простой шаблон в исходной картинке), поэтому возбуждение различных нейронов можно отследить.

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

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

    Нейронные сети - это лишь инструмент

    Само собой, искусственные нейронные сети активно помогают осваивать новые технологии и развивать существующие. Сегодня на пике популярности находится программирование беспилотных автомобилей, в которых нейросети в режиме реального времени анализируют окружающую обстановку. IBM Watson из года в год открывает для себя всё новые прикладные области, включая медицину . В Google существует целое подразделение , которое занимается непосредственно искусственным интеллектом.

    Вместе с тем порой нейронная есть - не лучший способ решить задачу. Например, сети «отстают » по таким направлениям, как создание изображений высокого разрешения, генерация человеческой речи и глубокий анализ видеопотоков. Работа с символами и рекурсивными структурами также даётся нейросистемам нелегко. Верно это и для вопросно-ответных систем.

    Изначально идея нейронных сетей заключалась в копировании и даже воссоздании механизмов функционирования мозга. Однако человечеству по-прежнему нужно разрешить проблему скорости работы нейронных сетей, разработать новые алгоритмы логического вывода. Существующие алгоритмы по меньшей мере в 10 раз уступают возможностям мозга, что неудовлетворительно во многих ситуациях.

    При этом ученые до сих пор не до конца определились , в каком направлении следует развивать нейросети. Индустрия старается как максимально приблизить нейросети к модели человеческого мозга, так и генерировать технологии и концептуальные схемы, абстрагируясь ото всех «аспектов человеческой природы». На сегодняшний день - это что-то вроде «открытого произведения» (если воспользоваться термином Умберто Эко), где практически любые опыты допустимы, а фантазии – приемлемы.

    Деятельность ученых и разработчиков, занимающихся нейросетями, требует глубокой подготовки, обширных знаний, использования нестандартных методик, поскольку нейросеть сама по себе - это не «серебряная пуля», способная решить любые проблемы и задачи без участия человека. Это комплексный инструмент, который в умелых руках может делать удивительные вещи. И у него еще всё впереди.

    Теги:

    • neurodata lab
    • нейронные сети
    • нейросети
    Добавить метки

    Эта статья также доступна на следующих языках: Тайский

    • Next

      Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

      • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

        • Next

          В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

    • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
      https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png