Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Когда же вы уже поймете, что на данный момент нет никакого ИИ! Или, по-вашему, найти лицо на фотографии это искусственный интеллект?
features_dim = self.features_dim
step_dim = self.step_dim
eij = K.reshape(K.dot(K.reshape(x, (-1, features_dim)), K.reshape(self.W, (features_dim, 1))), (-1, step_dim))
В функции создаётся параметрический уровень (self.W) который потом скалярно умножается (K.dot) на входной вектор
Кстати, напишите пожалуйста в комментариях, если вы узнали в этой логике какую-то математическую высокоуровневую функцию.
(x*softmax(tanh(x))' = x' * softmax(tanh(x)) + x* (softmax(tanh(x))' softmax(tanh(x)) + x* (softmax(tanh(x)) * (tanh(x))' dx = y/ x+ y * ( 1 - tanh^2(x))всё ибо в сути RNN нет идеи для параллелизмачто за ерунда, можно хотя бы элементы батча паралельно пускать, а так расчёт реккурентной цепи конечно последовательный но умножение матриц всегда можно распаралелить с выигрышем
Attention для чайников и реализация в Keras