интуиция измерения матрицы веса в нейронной сети

#neural-network

#нейронная сеть

Вопрос:

Я следил за курсом о нейронных сетях в Coursera и наткнулся на эту модель:

введите описание изображения здесь

Я понимаю, что значения z1, z2 и так далее — это значения из линейной регрессии, которые будут введены в функцию активации. Проблема, с которой я сталкиваюсь, заключается в том, что автор говорит, что должна быть одна матрица весов и вектор входных данных, вот так:

введите описание изображения здесь

Я знаю, что вектор Xs имеет размерность 3 x 1, потому что есть три входных сигнала, но почему массив Ws имеет размеры 4 x 3?. Я могу сделать вывод, что в ней четыре строки, потому что это веса w1, w2, w3 и w4, которые соответствуют каждому из значений a1 … a4, но что находится внутри этого массива? Ее элементы представляют собой что-то вроде:

 w1T w1T w1T
w2T w2T w3T
... ?
  

итак, когда я, например, умножаю на x1, я получу:

 w1Tx1 w1Tx2 w1Tx3=w1T(x1 x2 x3)=w1TX
  

Я подумал об этом, но я не могу по-настоящему понять, что содержит этот массив, хотя я знаю, что в конце у меня будет вектор 4 x 1, который соответствует значениям z . Любая помощь?

Спасибо

Ответ №1:

Как правило, матрица веса имеет следующие измерения :

  • Количество строк должно равняться количеству нейронов в предыдущем слое. (в этом случае предыдущий слой является входным слоем). Итак, 3
  • Количество столбцов должно соответствовать количеству нейронов в следующем слое. Итак, 4.

Следовательно, матрица весов = (3X4). Если вы возьмете транспонирование, оно станет (4X3).

Комментарии:

1. я думаю, вам следует заменить слово «следующий» на «текущий слой, для которого мы определяем размеры веса», т.е.: Количество столбцов должно соответствовать количеству нейронов в текущем слое, для которого мы определяем размеры веса, т.е. Слой-1. Итак, 4

Ответ №2:

Если x равно 3x1 , то матрица весов размера Nx3 даст вам скрытый слой с N единицами измерения. В вашем случае N = 4 (см. Схему сети). Это следует из того факта, что умножение Nx3 матрицы на 3x1 вектор дает Nx1 вектор в качестве выходных данных, следовательно, N скрытые единицы.

Каждая строка матрицы весов определяет веса для одной скрытой единицы, поэтому скалярное произведение w_1 и x (плюс смещение) дает z_1 :

В конце концов, запись всех величин в виде векторов и матриц просто позволяет вам использовать краткие обозначения линейной алгебры:

где мы предполагаем, что активация применяется поэлементно.

Комментарии:

1. спасибо @cheersmate, но я знаю, откуда взялась формула las. На самом деле, мне любопытно, какую информацию содержит массив W. Например, в случае, который я написал, содержит ли он w1, повторяющийся три раза в первой строке, w2, повторяющийся три раза во втором raw и так далее?

2. На самом деле, вы пишете отдельные веса с помощью ^T в вашем вопросе, но это транспонирование, которое имеет смысл только для векторов: это уже дает вам подсказку о том, что происходит. Обозначение в эскизе означает именно это: w_1 это вектор с 3 (разными) элементами.

3. Я также обновил формулу, чтобы явно показать скалярное произведение и отдельные элементы w_i .

Ответ №3:

Обратите внимание, что в вашем курсе вектор представляет объекты в порядке старшинства столбцов, а матрица весов W представляет для 4 нейронов, каждый из которых имеет 3 весовых параметра таким образом:

Wxxx

но для того, чтобы выполнить математику, вы должны ее транспонировать, вот почему вы используете W^T