Создаем нейронную сеть книга

Эта книга представляет собой введение в теорию и практику создания нейронных сетей. Она предназначена для тех, кто хочет узнать, что такое нейронные сети, где они применяются и как самому создать такую сеть, не имея опыта работы в данной области. Автор простым и понятным языком объясняет теоретические аспекты, знание которых необходимо для понимания принципов функционирования нейронных сетей и написания соответствующих программных инструкций. Изложение материала сопровождается подробным описанием процедуры поэтапного создания полностью функционального кода, который реализует нейронную сеть на языке Python и способен выполняться даже на таком миниатюрном компьютере, как Raspberry Pi Zero.
Основные темы книги:
– нейронные сети и системы искусственного интеллекта;
– структура нейронных сетей;
– сглаживание сигналов, распространяющихся по нейронной сети, с помощью функции активации;
– тренировка и тестирование нейронных сетей;
– интерактивная среда программирования IPython;
– использование нейронных сетей в качестве классификаторов объектов;
– распознавание образов с помощью нейронных сетей.

Тарик Рашид – специалист в области количественного анализа данных и разработки решений на базе продуктов с открытым исходным кодом.Имеет ученую степень по физике и степень магистра по специальности "Machine Learning and Data Mining". Проживая в Лондоне, он возглавляет местную группу разработчиков Python (насчитывающую около 3000 участников), организует многочисленные семинары и часто выступает с докладами на международных конференциях.

Однажды я наткнулся на книгу под названием «Создай свою нейросеть», под авторством Тарика Рашида. В отличие от многих других книг по нейронным сетям, в этой все подавалось простым языком, c достаточным количеством примеров и советов

Читайте также:  Создать ярлык сетевых подключений

Вдохновившись этой книгой, я хочу пройтись по ней пошагово- а именно по практической ее части — написанию кода простейшей нейронной сети.
Эта статья для тех, кто хочет заниматься нейронными сетями и машинным обучением, но пока с трудом понимает эту удивительную область науки. Ниже будет описан самый простой скелет кода нейронной сети, чтобы многие поняли простейший принцип построения и взаимодействия всего того, из чего состоит эта нейронная сеть.

Теории по машинному обучению и нейронным сетям на хабре и так достаточно. Но если кому-то это необходимо, некоторые ссылки я оставлю в конце статьи. А сейчас, приступаем непосредственно к написанию кода, причем писать мы будем на Python, при написании кода рекомендую использовать Jupyter-Notebook

Шаг 1. Инициализация сети

Сначала нам, конечно же, надо инициализировать все действующие компоненты нашей сети

Сигмоида

Эта функция относится к классу непрерывных функций, принимает на вход произвольное вещественное(т.е не обязательно целое) число и на выходе дает вещественное число в интервале от 0 до 1.

В частности, большие (по модулю) отрицательные числа превращаются в ноль, а большие положительные – в единицу.

Выход ее хорошо интерпретируется, как уровень активации нейрона: от отсутствия активации (0) до полностью насыщенной активации (1).

Сигмоида выражается формулой:

График сигмоидальной функции в соответствии с рисунком ниже:

Сигмоидальная функция является:

  • непрерывной;
  • монотонно возрастающей;
  • дифференцируемой.

В данном коде сигмоида присутствует, как вы можете видеть, под именем expit(x)

Немного о том, как выглядит узел в нейронной сети

На картинке изображен самый, что ни на есть узел, только представлен он обычно в виде круга, а не прямоугольника. Как мы видим, внутри прямоугольника(ну или круга) — это все абстрактно, находятся 2 функции:

Читайте также:  У вас какой номер о мастер пикапа

1-я Функция занимается тем, что получает все входные, с учетом весов, данные, и иногда даже с учетом нейрона смещения(специальный нейрон, который просто позволяет графикам подвинуться, а не смешиваться в одну некрасивую кучу, вот и все)

2-я Функция принимает в качестве параметра то самое значение, которое суммировала первая функция, и эта вторая функция называется функцией активации. В нашем случае –cигмоида

Часть 2. Тренировка Нейронной Сети

И вот мы приближаемся к концу

Часть 3. Опрос нейронной сети

Доводим дело до конца

Выше была представлена способная на вычисления, простейшая модель нейронной сети. Но какого-то конкретного применения показано не было.

При желании, можно пойти дальше, добавив возможность распознавания рукописного текста в код MNIST, для этого вы можете полностью разобраться(и просто позабавиться), имея этот jupyter-файл , моя же задача была продемонстрировать код и по возможности разжевать что в сети присутствует и за что отвечает

Ниже вы найдете полезные ссылки:

1.Cсылка на Github Тарика ->
2.Его книга ->
3.Теория по машинному обучению ->
4.Теория по машинному обучению ->
5.Теория по машинному обучению ->

Автор: Тарик Рашид

Год выпуска: 2017

Книга будет полезна тем, кто не имеет опыта создания нейронных сетей. Она доступно и просто описывает теоретическую часть, а также детально объясняет, как сотворить подобное на практике. «Создаем нейронную сеть», прежде всего, рассказывает, чем являются сети и как они функционируют, глубоко и детально раскрывает само понятие для новичков.

Процесс создания нейронных сетей подан поэтапно и понятно, включая написание действующего кода на языке Python. Как утверждается и демонстрируется в книге «Создаем нейронную сеть», это возможно даже на очень маленьком ПК (таком как Raspberry Pi Zero).

Читайте также:  Тормозная площадка ml 2015

Автор книги

Тарик Рашид – эксперт в сфере количественного анализа данных. Также он специализируется на работе с открытым программным кодом. Обладатель научной степени по физике. В Лондоне проводит лекции и семинары по Python и является главой местного тематического сообщества.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *