Комментарии 19
А есть то же самое, но для Раста?
Немного странно использовать квадратичную функцию потерь в связке с sigmoid активацией на выходном слое. Тут уж либо мы решаем задачу классификации, либо регрессии
задача классификации: sigmoid activation + cross-entropy loss
или задача регрессии: linear (no) activation + quadratic loss
У меня вот есть такая интерактивная иллюстрация работы ма-а-а-аленькой сеточки, которая играет в змейку: https://shashkovs.ru/ai/
![ReLU + чем толще линия — тем больше слагаемое ReLU + чем толще линия — тем больше слагаемое](https://habrastorage.org/getpro/habr/upload_files/e5a/087/7da/e5a0877daae0433e5b718141e7bc7bca.gif)
Очень интересно что такое казалось бы сложное задание, нейросеть может выполнить на таком маленьком количестве нейронов.
Там есть вариант, когда оно играет в змейку вообще без промежуточного слоя: 4 входных и 3 выходных, то есть всё управление — это 15 весов.
Для змейки всегда есть положение «вперёд». Во входе «яблоко» угол от положения «вперёд» в радианах.
А, ну и конкретно про 3.14. Для вычисления угла используется atan2, а для приближения справа Math.atan2(0, -1) = 3.1415...
Порекомендую вот эту статью
Let’s code a Neural Network in plain NumPy | by Piotr Skalski | Towards Data Science
Покажите как используется ваш класс в итоге и что является результатом работы. Покажите код, который делает это "Давайте обучим нейронную сеть на 1500 итерации". Спасибо.
А почему именно сигмоид? Почему не relu, например?
Просто насколько мне известно, от сигмоида отказываются из-за того, что при обучении он любит уходить намертво в 1 или 0. Ну а если не уходит, то по сути мы получаем ± градиент как при relu
Круто
Но код на гите был бы не лишним)
Как создать свою собственную нейронную сеть с нуля на Python