Как программировать нейронную сеть
Нейронная сеть программирование
Пошаговое руководство по реализации нейронной сети с нуля
![Нейронная сеть с тремя скрытыми слоями](https://miro.medium.com/v2/resize:fit:640/format:webp/1*Je65TdJbDm55KQCja7rPVw.png)
В этой статье мы построим нейронную сеть с нуля и используем ее для классификации рукописных цифр.
Почему изобретать велосипед/нейронную сеть, вы спросите? Разве я не могу просто использовать свою любимую библиотеку машинного обучения и быть готовым? Да, есть много готовых фреймворков, которые вы можете использовать для построения нейронной сети (например, Keras, PyTorch и TensorFlow). Проблема с использованием одного из них в том, что они позволяют нам легко относиться к нейронным сетям как к черным ящикам.
Это не всегда плохо. Часто нам нужен такой уровень абстракции, чтобы мы могли приступить к решению проблемы, но мы все же должны стремиться хотя бы иметь базовое понимание того, что происходит внутри, если мы собираемся использовать нейронные сети в нашей работе.
Построение нейронной сети с нуля, по моему мнению, является лучшим способом развить глубокое понимание ее работы.
- Создание и публикация вашего собственного пакета Python для начинающих
- Реализация стека на Python функции, методы, примеры и многое другое
- Выводы для PROs
В конце этой статьи вы узнаете о алгоритмах прямого и обратного распространения, что такое функция активации, в чем разница между эпохой и пакетом, и как обучить нейронную сеть. Мы закончим примером обучения нейронной сети распознавать рукописные цифры.
Весь код, использованный в этой статье, доступен здесь на GitHub [1].
Что такое нейронная сеть?
Нейронные сети, или искусственные нейронные сети, являются типом алгоритма машинного обучения. Они являются основой многих систем глубокого обучения и искусственного интеллекта, таких как компьютерное зрение, прогнозирование и распознавание речи.
Структура искусственных нейронных сетей иногда сравнивается со структурой биологических нейронных сетей в мозге. Я всегда настоятельно рекомендую быть осторожным слишком многое выводить из этого сравнения. Конечно, искусственные нейронные сети выглядят немного похожими на биологические нейронные сети, но это довольно большой шаг начинать сравнивать их с чем-то таким сложным, как человеческий мозг.
Нейронная сеть состоит из нескольких слоев нейронов. Каждый слой нейронов активируется на основе активаций в предыдущем слое, наборе весов, соединяющих предыдущий слой…