Базовые концепты
Идея: ввод в будущем должен использовать предыдущую информацию. W3 эквивалентен резервированию промежуточной информации. X и U объединены в карту объектов, а A представляет собой ячейку памяти. Матрица V эквивалентна выполнению полносвязной операции на St. Окончательный вывод должен преобразовать вектор в форму вероятности через softmax. RNN лучше всего подходят для обработки естественного языка. Обработка изображений не требует контекстной корреляции. Найдите градиент, и каждый шаг будет обновлять все предыдущие.Проблемы с рекуррентными нейронными сетями
Проблема RNN: если входное предложение очень длинное, например: 200 слов, оно запомнит все слова. Так далеко, его информационная ценность не так высока! Будет ли какое-то влияние. В случае слишком длинного также будет проблема исчезновения градиента. Если градиент шага около 0, то все предыдущие шаги, связанные с ним, будут около 0.LSTM (длинная короткая нейронная сеть)
Ct относится к состоянию клетки, которое нам нужно обновить навсегда. Текущие ворота — это ворота забывания, которые определяют, какую информацию нужно забыть.Текущие ворота должны вычислить информацию, которую нужно сохранить.Ct постоянно обновляется и итеративно. Количество скрытых единиц в единице LSTM — hidden_size. На приведенном выше рисунке в ячейке есть четыре желтых поля. Ввод каждого поля — h (t−1) и x (t), и объедините их вместе (прямо говоря Это нужно для того, чтобы написать два вместе, например, x — 28-битный вектор, h(t-1) — 128-битный, тогда написание — 156-битный вектор), а размерность — (hidden_size+wordvec_size ), поэтому каждый в LSTM Размеры матрицы параметров желтых прямоугольников:[hidden_size+wordvec_size,hidden_size]
Следует отметить, что все LSTM в num_steps раз имеют набор параметров.Говорят, что существует num_steps LSTM-юнитов, но на самом деле есть только один, но этот модуль выполняется num_steps раз. (На картинке три больших зеленых прямоугольника, представляющих три ячейки, справа, но на самом деле это просто представляет состояние ячейки в разных временных рядах, все данные будут проходить только через одну ячейку, а затем постоянно обновлять ее вес) .
Итак, сколько параметров имеет слой LSTM? Количество параметров определяется количеством ячеек, здесь ячейка всего одна, поэтому количество параметров — это количество параметров, используемых в этой ячейке. Предполагая, что num_units(hidden_size) равно 128, а входные данные 28 бит, тогда параметры четырех маленьких желтых прямоугольников имеют в сумме (128 + 28) * (128 * 4), что составляет 156 * 512. Вы можете посмотреть на самый простой из TensorFlow.В случае LSTM параметры среднего слоя те же, но еще добавляются параметры функции активации в момент вывода.Если классов 10 то это 128*10 Вт параметров и 10 параметров смещения.Состояние верхней строки ячейки C(t) представляет долговременную память, а нижняя h(t) — рабочую память или кратковременную память.
Ссылаться на
Количество нейронов LSTM:blog.CSDN.net/no 0_37870649…
Структура LSTM и параметры в ячейке:blog.CSDN.net/Wujiaochang 11825113…