#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 весовых параметра таким образом:
но для того, чтобы выполнить математику, вы должны ее транспонировать, вот почему вы используете W^T