Вы здесь
Главные вкладки
Нейронные категории
В «Замаскированых вопросах» я рассказал про сортировку «сияиц» и «крубов». Обычное сияйцо — синее, яйцевидной формы, мохнатое, мягкое, непрозрачное, светится в темноте и содержит ванадий. Обычный круб — красный, кубический, гладкий, твердый, с просвечивающей поверхностью, не светится и содержит палладий. Что бы слегка упростить задачу, давайте пока отбросим характеристики мягкости/твердости и непрозрачности/просвечивающей поверхности. В нашем пространстве вещей остаётся пять измерений: цвет, форма, текстура поверхности, свечение и состав.
Предположим, что я хочу сделать искусственную нейронную сеть (ИНС), предсказывающую неизвестные характеристики сияйца на основе уже известных. Предположим также, что я пока неопытен в области создания ИНС. Я лишь прочел несколько увлекательных научно-популярных книг, где описано, что нейронные сети являются распределёнными, эмерджентными и вычисления в них идут параллельно — прямо как в человеческом мозге!!! Но я не могу вывести дифференциальные уравнения для градиентного спуска в не-рекуррентной многослойной нейронной сети с сигмоидной функцией активации (что на самом деле гораздо легче чем кажется).
Так что сделанная мной нейронная сеть будет выглядеть примерно так:
Сеть 1 предназначена для сортировки сияиц и крубов. Но поскольку «сияйцо» — незнакомый и искусственный концепт, для наглядности я изобразил похожую Сеть 1b для классификации людей и Космических Монстров, которая в качестве входных данных использует информацию, предоставленную Аристотелем («Все люди смертны») и философами Академии Платона («Двуногое без перьев и с плоскими ногтями»).
Для нейронной сети нужен алгоритм обучения. Очевидная идея: будем усиливать связь между двумя узлами, если эти узлы часто активируются одновременно. Это один из первых алгоритмов для обучения нейронных сетей, так же известный как правило Хебба.
Таким образом, если вы часто видите объекты, которые одновременно синие и пушистые, — то есть узел «цвет» активируется в состоянии «+» и одновременно узел «текстура» активируется в состоянии «+», — связь между цветом и текстурой усиливается, в результате чего активация «цвет+» будет вызывать активацию «текстура+» и наоборот. А если вы часто видите синие, яйцеподобные и содержащие ванадий объекты, то это усилит положительную взаимную связь между цветом, формой и содержанием.
Предположим, вы уже видели достаточно сияиц и крубов, спустившихся по конвейеру. Но вдруг вы видите, как по ленте приближается нечто пушистое, яйцевидное и — ну надо же! —красновато-фиолетовое (для нашей нейронной сети это будет означать активацию узла «цвет» с силой -2/3). Вы еще не тестировали светимость и содержимое. Каков будет ваш прогноз? Это сияйцо или круб?
Дальше мы увидим, как сила активации узлов в Сети 1 начнёт меняться. Положительная активация идет к светимости от формы, негативная — к содержимому от цвета, и от содержимого в светимости… Разумеется, все эти сигналы идут параллельно!!! И асинхронно!!! Прямо как в человеческом мозге…
Наконец Сеть 1 приходит в стабильное состояние, в котором узлы «светимость» и «содержимое» активированы очень сильно в положительную сторону. Сеть могла бы сказать, что нам следует «ожидать» (пусть мы это ещё и не проверяли), что этот объект светится в темноте и содержит ванадий.
И смотрите, Сеть 1 демонстрирует такое поведение, несмотря на отсутствие узла, который явно бы говорил, является ли объект сияйцом или нет. Вся сеть выносит имплицитную оценку!!! Сияйцность - аттрактор!!! Появляющийся в результате эмерджентного поведения!!! Благодаря распределенному обучающему алгоритму!!!
Сети с такой архитектурой могут казаться очень привлекательными, однако, использовать их в реальной жизни довольно проблематично. Сети с обратными связями не всегда быстро останавливаются: иногда в них начинаются колебания, иногда можно наблюдать хаотичное поведение, или же они просто слишком долго думают. Если вы видите что-то большое, желтое и полосатое, и вам надо ждать пять минут, прежде чем сеть придет к аттрактору «тигр», то это очень-очень плохо. Да, процессы в этих сетях идут асинхронно и параллельно, но этого всё равно не хватает для работы в реальном времени.
Есть и другие проблемы. Например, одно и то же свидетельство может оказаться учтено дважды, потому что сигнал ходит туда-сюда: вы подозреваете, что объект светится в темноте, это способствует активации убеждения о ванадии внутри объекта, что, в свою очередь, способствует активации убеждения о свечении в темноте.
К тому же, если вы захотите увеличить Сеть 1, это потребует $O(N^2)$ соединений, где $N$ - число наблюдаемых характеристик.
А как можно построить более реалистичную сеть?
В такой сети активируются сначала узлы, отвечающие за наблюдаемые характеристики, от них сигнал идет к центральному узлу, а от него к еще не активированным (отвечающим за ненаблюдаемые характеристики) узлам. Это означает, что мы можем вычислить ответ за один шаг, а не ждать, пока сеть успокоится. С точки зрения биологии это очень важно, ведь нейроны работают с частотой в 20 герц. И расширение сети с такой архитектурой требует $O(N)$ новых соединений, а не $O(N^2)$.
Следует признать, что некоторые выводы делать проще, используя сеть с архитектурой первого типа, чем второго. В Сети 1 каждые два узла соединены напрямую. Поэтому если красные объекты не светятся в темноте, но красным мохнатым объектам обычно свойственны и другие характеристики сияйца, вроде яйцевидности и ванадия, Сеть 1 может это легко воспроизвести. Потребуется лишь несколько сильных отрицательных связей от цвета к светимости и более сильных положительных связей от текстуры ко всем остальным узлам кроме светимости.
Но это не означает, что в правиле «сияйца светятся в темноте» появилось «особое исключение». В Сети 1 нет узла, отвечающего за «сияйцность». Сияйцность появляется как аттрактор в распределенной сети.
Поэтому, да, от этих $N^2$ соединений бывает польза. Но не часто. В реальных задачах мы редко наблюдаем животных, которые наполовину похожи на кошку, а наполовину — на собаку, и Сеть 1 для большинства таких реальных задач не подходит.
(Кроме того, есть факты, которые трудно воспроизвести как на Сети 1, так и на Сети 2. Предположим, что если лазурный цвет и сферическая форма встречаются одновременно, то это всегда означает наличие палладия. Однако, если эти характеристики присутствуют поодиночке, это является сильным свидетельством в пользу наличия ванадия. Если не вводить дополнительные узлы, на обеих сетях такое явление будет трудно воспроизвести. Архитектура и Сети 1, и Сети 2 неявно содержит предположение о том, какие связи между характеристиками возможны в реальности. В машинном обучении детей от взрослых отличает именно способность видеть такие неявные предположения.)
На самом деле, ни Сеть 1, ни Сеть 2 не похожи на реальные биологические системы. Однако, судя по всему, имеет смысл предполагать, что работа мозга в каком-то смысле ближе к Сети 2, чем к Сети 1. Сеть 2 быстрая, простая, масштабируемая и хорошо подходит для различения кошек от собак. Естественный отбор приходит к чему-то подобному точно так же, как вода стекает со склона холма.
Кажется, будто в задаче классификации объектов как сияиц или крубов и распределении их по корзинам нет ничего сложного. Но сможете ли вы заметить, что лазурные объекты никогда не светятся в темноте?
Возможно, вы обратите на это внимание, если окажетесь перед двадцатью объектами, которые будут различаться во всём, кроме лазурного цвета, и кто-нибудь выключит свет, и ни один из объектов не засветится. Другими словами, если ситуация будет такова, что не заметить отсутствие свечения в темноте будет почти невозможно. Возможно, когда вы понаблюдаете за всеми этими объектами вместе, ваш мозг сформирует новую подкатегорию и сможет определять характеристику «не светится» внутри этой подкатегории. Но если лазурные объекты будут рассеяны в куче из сотни других сияиц и крубов, то вы, скорее всего, ничего не заметите. Замечать подобные связи между характеристиками трудно и не интуитивно - по сравнению с различением кошек и собак.
Или: «Сократ - человек, все люди смертны, следовательно, Сократ смертен». Как Аристотель узнал, что Сократ был человеком? Ну, у Сократа не было перьев на теле, его ногти были плоскими, он был прямоходящим, говорил на греческом и, в целом, имел человеческую форму и вел себя как человек. И мозг решает — раз и навсегда, — что Сократ является человеком, и делает из этого вывод, что, как и все люди, которых он до этого наблюдал, Сократ тоже смертен. Вопрос о том, насколько ношение одежды связано со смертностью сильнее, чем умение говорить, кажется сложным и не интуитивным. Просто «то, что носит одежду и разговаривает — люди» и «люди смертны».
Существуют ли искажения, связанные с попыткой распределить объекты по категориям раз и навсегда? Разумеется, существуют. Например, читайте статью «Культовая контркультовость».
Продолжение следует…
- Короткая ссылка сюда: lesswrong.ru/316