Мы знаем, что неглубокая сеть может работать так же хорошо, как и более глубокая. Но это не так; а их обычно нет. Вопрос — — почему? Возможные ответы:

  • Может быть, мелкой сети потребуется больше нейронов, чем глубокой?
  • Может быть, неглубокую сеть сложнее обучать с помощью наших текущих алгоритмов (например, у нее более неприятные локальные минимумы, скорость сходимости ниже или что-то еще)?
  • Может быть, поверхностная архитектура не подходит для тех проблем, которые мы обычно пытаемся решить (например, распознавание объектов — типичный «глубокий», иерархический процесс)?
  • Что-то другое?

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

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

Затем в 2010 году Мартенс показал, что глубокие нейронные сети можно обучать методами второго порядка (так называемые методы без гессиана) и они могут превзойти сети, обученные с предварительным обучением: Глубокое обучение с помощью оптимизации без гессиана. Затем в 2013 г. Sutskever et al. показал, что стохастический градиентный спуск с некоторыми очень умными приемами может превзойти методы без гессиана: О важности инициализации и импульса в глубоком обучении. Кроме того, примерно в 2010 году люди поняли, что использование выпрямленных линейных единиц вместо сигмовидных имеет огромное значение для градиентного спуска. Dropout появился в 2014 году. Остаточные сети появились в 2015 году. Люди продолжают придумывать все более и более эффективные способы обучения глубоких сетей, и то, что казалось ключевым 10 лет назад, сегодня часто считается неприятностью. это в значительной степени зависит от проб и ошибок, и мало понимания того, почему одни вещи работают так хорошо, а другие нет. Обучение глубоких сетей похоже на большой набор трюков. Успешные трюки обычно рационализируются задним числом.

Мы даже не знаем, почему глубокие сети достигают плато производительности; всего 10 лет люди винили локальные минимумы, но сейчас думают, что дело не в этом (когда производительность выходит на плато, градиенты, как правило, остаются большими). Это базовый вопрос о глубоких сетях, а мы даже не знаем этого.