Посетил Стэнфордский симпозиум , посвященный пересечению глубокого обучения и нейробиологии, мне было очень весело.
Я говорю об интересных вещах — например, доклад Дэна Яминса об использовании нейронных сетей для моделирования работы зрительной коры головного мозга.
Отказ от ответственности: сообщение было написано на основе сильно отредактированных журналов чата.
closecircles.com , отсюда и стиль изложения и уточняющих вопросов.
Здесь связь посмотрите полный репортаж, он прикольный, но смотреть его наверное лучше после прочтения поста.
Дэн занимается вычислительной нейробиологией, то есть пытается использовать вычислительные методы для исследования мозга.
И там, как и везде, происходит глубокое обучение.
В целом мы немного понимаем строение зрительной коры на высоком уровне.
Когда мы видим изображение, глаз вызывает активацию нейронов, активации проходят через разные части мозга, которые извлекают из них представление все более высокого уровня.
V1 еще называют первичной зрительной корой и она хорошо изучена — там есть нейроны, которые пропускают определенные фильтры по изображению и активируются на линиях под разными углами и простыми градиентами.
(кстати, паттерны активации нейронов в этой области часто схожи с первыми изученными уровнями в CNN, что само по себе очень круто) Есть даже успехи в моделировании этой части — мол, придумай какую-нибудь модель, посмотри, как активируются нейроны на входном изображении, подгони ее, и тогда эта модель вполне предсказывает активацию этих нейронов на новых картинках.
С V4 и IT (более высокими уровнями обработки) это не работает.
Откуда вообще берутся данные о биологических нейронах?
Типичный эксперимент выглядит так: вы берете обезьяну и втыкаете в какую-то часть ее мозга электроды, которые улавливают сигналы от пораженных ими нейронов.Обезьяне показывают разные картинки и с электродов снимают сигнал.
Это делается на нескольких сотнях нейронов – количество нейронов Общий в изученных долях мозга огромен; измеряются только сотни.
Оказывается, если попытаться подогнать модель активации биологических нейронов в V4 и IT, происходит переобучение — данных мало и модель уже ничего не предсказывает для новых картинок.
Товарищи Дэна пытаются поступить иначе
Давайте возьмем модель и обучим ее какой-нибудь задаче.признание , чтобы искусственные нейроны в нем что-то распознавали на этих картинках.
Что, если они лучше предсказывают активацию биологических нейронов? Теперь давайте внимательно понаблюдаем за своими руками.
Они обучают модели (CNN и более простые модели обычного компьютерного зрения) распознавать объекты на синтетических изображениях.
Картинки такие:
Объект не коррелирует с фоном - это может быть самолет на фоне озера или голова на фоне какого-то дикого леса (я так понимаю, для исключения предварительного обучения).
Всего на картинках 8 категорий объектов – головы, машины, самолеты, что-то еще.
И вот они обучают модели разной структуры и глубины распознавать категорию объекта.
Среди других моделей есть CNN, предварительно обученные в Imagenet, и они удаляют из набора обучающих данных категории объектов, которые они использовали в своих синтетических изображениях.
Далее на основе обученной CNN они «предсказывают» активации биологических нейронов следующим образом.
Они берут определенный обучающий набор (отдельные категории объектов), выбирают определенный уровень в CNN и нейронах в какой-то части мозга и строят линейный классификатор, прогнозирующий активацию биологических нейронов на основе искусственных.
То есть, они пытаются аппроксимировать активацию биологического нейрона как линейную комбинацию активаций искусственных нейронов в каком-то слое (ведь соединить их один в один совершенно нет возможности, там совсем другое количество их).
А затем проверяют, какую предсказательную силу он имеет на тестовом наборе, где были совершенно разные объекты.
Надеюсь, мне удалось это объяснить.
То есть их выводом является CNN — что-то вроде идентификации биологического нейрона? Нет! Результатом работы CNN является классификатор объектов на картинках.
CNN обучается классификации изображений; он ничего не знает о биологических нейронах.
Размеченные данные для сетки — это то, какой объект находится на картинке, без знания биологических нейронов.
А затем мы зафиксировали веса в CNN и подогнали активацию биологических нейронов к линейной комбинации активаций искусственных нейронов.
почему линейная комбинация, а не другая сетка? Я хочу сделать предсказание биологического от искусственного максимально простым, чтобы система не переобучалась и брала основной сигнал от активаций нейронов в CNN. А затем, используя новые тестовые картинки, мы проверяем, смогли ли мы предсказать активацию биологических нейронов.
Итак, вот фото результатов!
Каждая точка на этом графике представляет собой некую проверенную модель.
Ось X показывает, насколько хорошо она классифицирует, а ось Y — насколько хорошо она предсказывает биологические нейроны.
Синее облако — это модели, которые либо вообще не обучались, либо были обучены с нуля, и многие из них не очень глубокие, а красные точки вверху справа — это модели, предварительно обученные с помощью imagenet и тотального глубокого обучения.
Можно видеть, что то, насколько хорошо модель классифицирует, сильно коррелирует с тем, насколько хорошо она предсказывает биологические активации.
То есть, установив ограничение, что модель должна быть еще и функциональной, получается лучше аппроксимировать модель активации биологических нейронов.
Вопрос может быть в сторону, но всё же.
Можно ли тогда научить модель классифицировать что-либо, используя нейроны мозга в качестве учителя? Типа показали картинку + взяли данные из мозга и скормили CNN? Это то же самое, о чем я говорил ранее — поскольку вы знаете мало нейронов, такая модель начинает переобучаться и не обладает предсказательной силой.
То есть обучение на основе активации нейронов не является обобщенным, а обучение на основе выбора объектов является гораздо более сильным ограничением.
А теперь термоядерный.
Вы можете увидеть, как разные уровни нейронной сети предсказывают активацию разных участков мозга:
Оказывается, последние уровни хорошо предсказывают IT (заключительный этап), но не V4 (промежуточный этап).
А V4 лучше всего предсказывает промежуточные уровни сети.
Таким образом, иерархическое представление признаков в нейронной сети «задевает» не только в конце, но и в середине обработки, что еще раз говорит о том, что между тем, что происходит здесь и там, есть некая общность.
То есть их нейронная сеть выглядит примерно так же, как биологические нейроны мозга? Скорее, есть нечто подобное в стадиях, через которые проходит процесс признания.
Сказать, что «архитектура» одинаковая, конечно, нельзя (конечно, это вообще нельзя считать доказательством и т. д. и т. п.
)
Следующий этап - ну ок, допустим, у нас появилась возможность смоделировать неизвестно как работающий мозг какой-то другой неизвестно как работающей коробки.
Какая в этом радость? Дальнейшая работа будет посвящена тому, как это можно использовать, чтобы понять что-то новое о том, как работает мозг.
Я расскажу вам об одном примере; в самой речи есть еще два.
Попробуем вытащить из картинки не только классификацию, но и некоторые другие сигналы — угол наклона, размер, положение и т. д.
Казалось бы, это более «низкоуровневые» функции, чем класс объектов, и ожидается, что они будут определяться на более низких уровнях распознавания в мозге — давайте проверим это на модели.
Оказывается, фиг там! Даже такие «низкоуровневые» функции лучше коррелируют с активациями высокого уровня, чем с низкоуровневыми.
Затем они провели дополнительные эксперименты на живом мозге и увидели то же самое — те линии и углы, которые мы привыкли видеть в узорах первых слоев, не имеют отношения к «линиям» ориентации объектов высокого уровня.
Информация о положении и взаимном расположении объектов достигает высокого уровня.
Это подтверждает существовавшую ранее теорию о том, что последний этап (ИТ) работает со сформированной высокоуровневой моделью, где есть объекты, их расположение, взаимные связи и т. д. и т. п.
, и преобразует их во что-то, что нужно мозгу дальше.
(другие примеры, если кому интересно, о проверке гипотезы о выделенном месте в мозгу для распознавания лиц путем тренировки виртуального мозга, который ни разу в жизни не видел лица, и о распознавании звуков) (Продолжение дилетантских вопросов) Использовали ли они в своей CNN модель с таким же количеством слоев? Ну так и есть, но если уменьшить количество слоев, эффекты сходства пропадут? Нет, количество «слоев» в мозге — штука сложная: существуют сквозные связи и обратная связь.
Количество слоев в CNN принципиально меньше, чем в мозге.
Как тогда идет разговор об IT и V4? Ну, в мозгу IT и V4 много-много уровней, но в нейронной сети их мало.
Биологические нейроны IT и V4 — это те, на которые попал электрод. Какой «биологический слой» внутри них появился — тот и появился.
Также интересно следующее.
По словам Рамачандрана, зрительная кора — это не просто сеть прямой связи: все слои взаимодействуют со всеми слоями.
в обоих направлениях .
Есть даже пример когда зрительную систему можно вывести из равновесия с помощью различного рода оптических иллюзий.
То есть никто не гарантирует, что активация биологических нейронов как-то связана с самим процессом узнавания, а не с тем, что от вида самолета у обезьяны начинает чесаться нога, а нейроны уже реагируют на этот факт. что у него нога чешется? Нет, это нейроны из области, которая, как известно, связана со зрительной корой (эту часть о мозге мы знаем худо-бедно — ее там не поцарапать, она дальше по стопке).
Подводя итог, прямое направление работы скорее касается использования новых моделей для изучения работы мозга, но есть некоторые косвенные намеки на то, что как-то это работает слишком хорошо, возможно, есть общие механизмы.
Мы надеемся, что они сойдутся в сингулярность! Теги: #глубокое обучение #нейронаука #компьютерное зрение #Обработка изображений #Машинное обучение
-
Фишер, Герман Эмиль
19 Oct, 24 -
Веб-Дизайн, Inkscape И Все-Все, Часть 1
19 Oct, 24 -
Еще Одна Камера Для Freetrack
19 Oct, 24 -
Запуск Контейнеров В Azure
19 Oct, 24 -
Кохана 3.0 – Упрощаем Вашу Жизнь
19 Oct, 24 -
Размышления На Тему Dlp
19 Oct, 24