Вентильний рекурентний вузол
Ве́нтильні рекуре́нтні вузли́ (ВРВ, англ. Gated recurrent units, GRU) — це вентильний механізм у рекурентних нейронних мережах, представлений 2014 року.[1] Вони подібні до довгої короткочасної пам'яті з вентилем забування,[2] але мають менше параметрів, оскільки не мають вентиля виходу.[3]
Було виявлено, що їхня продуктивність на моделюванні поліфонічної музики та мовленнєвого сигналу аналогічна продуктивності ДКЧП.[4]
Однак, як показали Гейл Вейз (англ. Gail Weiss), Іов Голдберг (англ. Yoav Goldberg) та Еран Яхав (англ. Eran Yahav), ДКЧП «суттєво сильніше» ВРВ, бо може виконувати необмежений підрахунок, неможливий для ВРВ.[5] Ось чому ВРВ не може вивчити прості мови, з якими впоралась ДКЧП.[5]
Аналогічно, як показали Денні Бритз (англ. Denny Britz), Анна Голді (англ. Anna Goldie, Мінь-Тханг Луонг (англ. Minh-Thang Luong) і Куок Лей (англ. Quoc Le) з Google Brain, вузли ДКЧП незмінно перевершують вузли ВРВ у «передовому широкомасштабному аналізі варіацій архітектури для нейронного машинного перекладу».
Символ позначає добуток Адамара. Початкове значення .
Повний рекурентний вузол працює наступним чином. На вхід подаються значення вектору входу та значення виходу (при , вектор виходу ). По ним обчислюється претендент на нове значення виходу — вектор вузла скидання (англ. reset gate vector) , який обчислюється як функція активації (зазвичай сигмоїд) від матричного виразу по параметрам , та . Незалежно, подібним чином, обчислюється вектор вузла уточнення (англ. update gate vector) . Цей вектор містить значення, які визначають, чи варто залишити значення зі старого вектору, чи взяти нове значення. Фактично, це набір «вентилів» (англ. gate), які «пропускають» або старе, або нове значення. Далі обчислюється вектор виходу , в якому з ймовірністю береться старе значення з вектору , або з ймовірністю обчислюється нове значення.[6]
Формули для обчислень наступні:
Змінні
- : вектор входу
- : вектор виходу
- : вектор вузла уточнення
- : вектор вузла скидання
- , та : матриці та вектор параметрів
- : В оригіналі є сигмоїдною функцією.
- : В оригіналі є гіперболічним тангенсом.
- ↑ Cho, Kyunghyun; van Merrienboer, Bart; Gulcehre, Caglar; Bahdanau, Dzmitry; Bougares, Fethi; Schwenk, Holger; Bengio, Yoshua (2014). Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. arXiv:1406.1078 [cs.CL].
- ↑ Felix Gers; Jürgen Schmidhuber; Fred Cummins (1999). Learning to Forget: Continual Prediction with LSTM. Proc. ICANN'99, IEE, London: 850—855. Архів оригіналу за 1 квітня 2019. Процитовано 1 квітня 2019.
- ↑ Recurrent Neural Network Tutorial, Part 4 – Implementing a GRU/LSTM RNN with Python and Theano – WildML. Wildml.com. Архів оригіналу за 10 листопада 2021. Процитовано 18 травня 2016. (англ.)
- ↑ Chung, Junyoung; Gulcehre, Caglar; Cho, KyungHyun; Bengio, Yoshua (2014). Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling. arXiv:1412.3555 [cs.NE]. (англ.)
- ↑ а б Weiss, Gail; Goldberg, Yoav; Yahav, Eran (2018). On the Practical Computational Power of Finite Precision RNNs for Language Recognition. arXiv:1805.04908 [cs.NE].
- ↑ Knowledge Center (24 вересня 2018), RNN W1L09 : Gated Recurrent Unit GRU, процитовано 1 квітня 2019