Who invented deep residual learning?
Глубокое остаточное обучение с остаточными соединениями было изобретено не в 2015 году с появлением ResNet, а имеет долгую историю, уходящую корнями в 1991 год. Sepp Hochреитер в своей дипломной работе под руководством Jürgen Schmidhuber представил остаточные соединения для рекуррентных нейронных сетей, чтобы решить фундаментальную проблему исчезающих градиентов. Эти соединения с весом 1.0 обеспечивают постоянный поток ошибок в глубоких сетях, позволяя градиентам распространяться на миллионы шагов без затухания.
Эволюция продолжилась с LSTM в 1997 году, ставшей самой цитируемой работой по ИИ 20 века, где остаточные соединения назывались "constant error carrousels". В 1999 году появились управляемые остаточные соединения с forget gates, изначально открытыми (вес 1.0). К 2005 году LSTM была "развернута" из рекуррентной в feedforward архитектуру, что в 2015 году привело к появлению Highway Net и затем ResNet - по сути открытого управляемого Highway Net или развернутого 1997 LSTM.
Комментарии (33)
- Стороны обсуждают, кто именно «изобрёл» residual-соединения, и кто должен получить признание за идею, которая в действительности развивалась постепенно и коллективно.
- Обсуждается, что в ML-исследованиях редко бывает, что идея принадлежит одному человеку, и что «изобретение» часто является результатом множества вкладов, которые со временем приписываются одному человеку.
- Участники обмениваются мнениями о том, что важнее — первоначальная идея или же ее популяризация и демонстрация ее важности.
- Также затрагивается вопрос о том, что если идея не была оценена по достоинству в свое время, то это может быть выгодно только тому, кто ее позже популяризирует.
Were RNNs all we needed? A GPU programming perspective
Упрощённые версии GRU и LSTM (minGRU и minLSTM) позволяют заменить последовательные вычисления на параллельные, устраняя зависимость скрытого состояния от предыдущего шага. Это достигается за счёт переопределения гейтов так, чтобы они зависели только от текущего входа, что превращает рекуррентное обновление в линейную форму, разрешимую алгоритмом параллельного сканирования (scan). Такой подход сокращает сложность с O(T) до O(log T), что критично для ускорения на GPU.
Реализация на CUDA демонстрирует значительное ускорение: для последовательностей длиной 65 536 шагов время выполнения сокращается с ~13 секунд на CPU до ~5,3 секунд на GPU для GRU и с ~13 до ~6,7 секунд для LSTM. На коротких последовательностях (T < 2048) преимущество менее выражено из-за накладных расходов на распараллеливание, но с ростом длины масштабирование становится явным. Это подтверждает, что даже минимальные изменения в архитектуре RNN могут радикально улучшить их производительность на параллельных вычислениях.
Комментарии (23)
- Обсуждаются архитектурные ограничения классических RNN/LSTM, в частности их последовательная природа, препятствующая эффективному распараллеливанию на GPU.
- Представлены упрощённые модели (minGRU, minLSTM) и альтернативные архитектуры (например, RWKV), которые пытаются устранить эти ограничения и конкурировать с трансформерами.
- Поднимается вопрос о возможности параллельного обучения RNN на разных независимых текстах (книгах) и обсуждаются сложности синхронизации градиентов.
- Уточняется, что мозг человека вряд ли является RNN, и выдвигаются альтернативные гипотезы о его работе, например, как модели поиска устойчивого состояния (equilibrium model).
- Обсуждается исторический контекст: почему трансформеры, несмотря на потенциальную эффективность RNN, стали доминировать благодаря лучшей параллелизации обучения.