Шрифт:
Интервал:
Закладка:
Изучать, как происходят процессы обучения в человеческом мозге, – одно из самых увлекательных направлений исследований в нейробиологии, над которым можно работать на разных уровнях, от молекулярного до поведенческого.
Часть II. Множество способов обучения: хронология
1949 – Дональд Хебб выпустил книгу «Организация поведения»[124], в которой сформулировал правило пластичности синапса.
1982 – Джон Хопфилд опубликовал труд «Нейронные сети и физические системы с возникающими коллективными вычислительными способностями»[125], в котором описал нейросеть Хопфилда.
1985 – Джеффри Хинтон и Терри Сейновски представили «Алгоритм обучения для машин Больцмана»[126], что стало контрдоказательством широко распространенного мнения Минского и Пейперта, что алгоритм обучения для многослойных сетей невозможен.
1986 – Дэвид Румельхарт и Джеффри Хинтон написали «Обучение внутреннего представления путем распространения ошибки»[127], где описали алгоритм обратного распространения ошибки, который используется для глубокого обучения в наши дни.
1988 – Ричард Саттон напечатал статью «Обучение прогнозированию методами временных различий»[128] в журнале «Машинное обучение». Он был вдохновлен сутью ассоциативного обучения, и обучение с учетом временной разности стало считаться основным алгоритмом для обучения мозга методом вознаграждения.
1955 – Тони Белл и Терри Сейновски опубликовали труд «Подход к максимизации информации для слепого разделения и слепой обратной свертки»[129], в котором описали неконтролируемый алгоритм для анализа независимых компонентов.
2013 – Работа Джеффри Хинтона «Классификация Image Net с глубокими сверточными нейросетями»[130] позволила на 18 % снизить частоту ошибок при классификации объектов на изображениях.
2017 – сеть глубокого обучения Alpha Go победила Кэ Цзе на Чемпионате мира по го.
Глава 6. Проблема коктейльной вечеринки
На коктейльной вечеринке бывает сложно расслышать, что говорит человек рядом с тобой, среди какофонии других голосов вокруг. Наличие пары ушей помогает направить ваш слух в нужном направлении, и ваша память может заполнить недостающие обрывки разговора. Теперь вообразите шумную вечеринку с сотней людей в комнате и сотней ненаправленных микрофонов, которые собирают звуки ото всех, но с различным соотношением амплитуд для каждого человека на каждом микрофоне. Можно ли разработать алгоритм, который сумеет разделить голоса на отдельные выходные каналы? Чтобы усложнить задание, подумайте, что делать, если источники звука неизвестны – например, музыка, хлопки, звуки природы или даже случайный шум? Это называется проблемой слепого разделения сигналов (рис. 6.1).
На конференции, посвященной нейронным вычислительным сетям, – предшественнице NIPS, – проходившей с 13 по 16 апреля 1986 года в Сноуберде, в штате Юта, был представлен стендовый доклад «Пространственная или временная адаптивная обработка сигналов с помощью моделей нейронных сетей»[131]. Алгоритм обучения был использован для слепого разделения смесей синусоидальных волн – чистых частот, представленных в модели нейронной сети. Было неизвестно, существует ли общее решение, которое могло бы слепо разделять другие типы сигналов. Этот доклад указал на новый класс алгоритмов обучения без учителя. Десять лет спустя мы нашли алгоритм, который мог бы решить общую задачу.
Независимый компонентный анализ[132]
Перцептрон – это однонейронная сеть. В следующей простейшей сетевой архитектуре больше одного модельного нейрона в выходном слое, при этом каждый входной нейрон соединен с каждым выходным нейроном, что преобразует схему и на входном и на выходном слое. Эта сеть может сделать гораздо больше, чем просто классифицировать входы. Ее можно научить выполнять слепое разделение источников.
Рис. 6.1. Слепое разделение источников. Кайл и Стэн разговаривают одновременно в комнате с двумя микрофонами. Каждый микрофон улавливает сигналы, исходящие от разговаривающих, а также отражающиеся от стен помещения. Задача состоит в том, чтобы отделить два голоса друг от друга, не зная ничего о сигналах. Независимый компонентный анализ – алгоритм обучения, который решает эту проблему без информации об источниках
В 1986 году тогда еще студент Тони Белл (рис. 6.2) проходил летнюю практику в Швейцарской высшей технической школе в Цюрихе. Он был одним из первых, кто занялся нейронными сетями, и потому отправился в Женевский университет, чтобы послушать выступления четырех известных специалистов по сетям. После защиты диссертации в Брюссельском университете он в 1993 году переехал в Ла-Хойя, чтобы присоединиться к моей лаборатории в качестве постдокторанта.
Общий принцип обучения Infomax максимизирует поток информации в сети[133]. Тони Белл работал над передачей сигнала в дендритах – разветвленных отростках нейронов, которые те используют для сбора информации из тысяч соединенных с ними синапсов. Белл чувствовал, что должна быть возможность максимизировать информацию, исходящую из дендрита, если изменить плотность его ионных каналов. Упростив задачу (игнорируя дендриты), он нашел новый теоретико-информационный алгоритм обучения, который решил проблему слепого разделения источников (блок 2)[134].
Рис. 6.2. Тони Белл мыслит независимо. Эксперты знают много способов, которыми нельзя решить задачу, но часто кто-то, кто смотрит на нее впервые, видит новый подход и находит решение. Тони открыл итерационный (пошаговый) алгоритм для решения проблемы слепого разделения источников, который сейчас описан в учебниках по программированию и многократно применен на практике
Независимый компонентный анализ (Independent Component Analysis; ICA) – такое название получил новый алгоритм – с тех пор был использован для тысяч приложений и включен в учебники по обработке данных[135]. При применении к изображениям природы независимые компоненты были вычленены фильтрами определения краев (рис. 6.3), похожими на простые клетки зрительной коры кошек и обезьян (рис. 6.4)[136]. Более того, чтобы восстановить часть изображения, требуются лишь некоторые из многочисленных источников, отчего реконструкция становится разреженной[137].
Блок 2. Как работает ICA
Сравнение метода анализа главных компонент (Principal Component Analysis; PCA) и анализа независимых компонент. Выходы с двух микрофонов на рисунке располагаются друг против друга по вертикальной и горизонтальной осям. Координаты каждой синей точки – это значения в один момент времени. Анализ главных компонент – популярный неконтролируемый метод обучения, подразумевающий выбор направления, которое делит два сигнала пополам,