Что не так со свёрточными нейронными сетями?


Свёрточные нейронные сети (convolutional neural networks (CNNs)) показывают отличные результаты по распознаванию.
Однако, по словам Хинтона (Geoffrey Hinton), на самом деле очень жаль, что CNN работают так хорошо, потому что у них есть серьёзные недостатки, от которых, по его мнению, «будет трудно избавиться».

Существующие проблемы свёрточных нейронных сетей:
— плохая трансляционная инвариантность и отсутствие информации о ориентации (CNN имеют проблемы при повороте объектов или при изменении условий освещения — чтобы как-то решить эти проблемы — применяется аугментация данных).
— сильная потеря информации на пулинге

Согласно Хинтону, психология восприятия формы предполагает, что человеческий мозг достигает трансляционной инвариантности намного лучше. Грубо говоря, мозг имеет два отдельных пути: «какой» и «где». Нейроны в пути «какой» реагируют на определенный тип раздражителя независимо от того, где он находится в поле зрения. Нейроны в пути «где» несут ответственность за кодирование, где это происходит.

Разница между мозгом и свёрточными сетями происходит на более высоких уровнях. Хинтон утверждает, что мозг имеет модули, которые он называет «капсулами» (Capsule), которые особенно хороши при обращении с различными видами визуального стимула и кодировании таких вещей, как поза.

Capsule Networks: An Improvement to Convolutional Networks

UPD 2017-11-02
Understanding the letter ‘a’
К проблемам CNN: Fooling Neural Networks in the Physical World with 3D Adversarial Objects

далее: Стрим про капсульные нейронные сети

Статьи
Dynamic Routing Between Capsules

Ссылки
Geoffrey Hinton on what’s wrong with CNNs

Нейронная сеть
Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение