Искусственные Нейронные Сети. Часть 1



Нейрон В этой статье вы узнаете основы работы искусственных нейронов.

В последующих статьях мы изучим основы нейронных сетей и напишем простую нейросеть на питоне.

Нейронные сети состоят из нейронов, связанных друг с другом, поэтому нейрон является основной частью нейронной сети.

Нейроны выполняют всего 2 действия: умножают входные данные на веса, суммируют их и добавляют смещение, а второе действие — активацию.

Теперь давайте узнаем больше о входных данных, весах, смещениях и функции активации.

Входные данные — это данные, которые нейрон получает от предыдущих нейронов или от пользователя.

Каждому входу нейрона присваиваются веса, изначально присваиваемые случайные числа.

При обучении нейронной сети изменяется значение нейронов и смещений.

Входные данные, подаваемые в нейрон, умножаются на веса.

Смещения присваиваются каждому нейрону, как и начальные веса смещения; это случайные числа.

Смещение упрощает и ускоряет обучение нейронной сети.

Функция активации, которую мы будем использовать в нашей нейронной сети, называется сигмоидой.

Сигмовидная формула выглядит так:

Искусственные нейронные сети.
</p><p>
 Часть 1

Эта функция помещает любое число от -∞ до +∞ в диапазон от 0 до 1. Если математически описать задачи, которые выполняет нейрон, то получим 2 формулы: Обозначения: f(x) - функция активации x - сумма произведения входных данных на веса и смещение i - массив входных данных w - массив весов б - смещение j - количество входных данных и весов

Искусственные нейронные сети.
</p><p>
 Часть 1



Искусственные нейронные сети.
</p><p>
 Часть 1

Алгоритм работы нейрона будет выглядеть так

Искусственные нейронные сети.
</p><p>
 Часть 1

Теперь давайте реализуем этот алгоритм на языке программирования Python. Прежде чем реализовывать нейрон, вам необходимо скачать и подключить библиотеку numpy. Чтобы загрузить библиотеку, напишите в терминале Linux или Window:

  
  
  
  
  
  
  
  
   

pip install numpy

Чтобы подключить библиотеку к нашей программе, напишите в начале программы:

import numpy as np

Для удобства использования в больших программах и для удобства чтения кода реализуем класс Neuron и напишем для него конструктор:

class Neuron: def __init__(self, number_of_weights = 1): self.w = np.random.normal(size=number_of_weights) self.b = np.random.normal()

Конструктор класса получает количество входов для нейрона в качестве параметра и заполняет массив весов случайными числами, после чего мы генерируем смещение.

Также для работы нейрона нам необходимо инициализировать функцию активации.

Это будет выглядеть так:

def activate(self, inputs): x = np.dot(self.w, inputs) + self.b return sig(x)

Функция принимает входные данные, суммирует их и возвращает результат сигмовидной формы.

Чтобы функция активации работала, нам нужно написать сигмовидную функцию:

def sig(x): return 1 / (1 + np.exp(-x))

Эмы поместим эту функцию в файл Math.py Перед функцией снова подключим numpy:

import numpy as np

Мы напишем класс нейрона в файле Neuron.py. И подключите файл Math.py к Neuron.py:

from Math import *

В результате получаем 2 файла: Нейрон.

py

import numpy as np from Math import * class Neuron: def __init__(self, number_of_weights = 1): self.w = np.random.normal(size=number_of_weights) self.b = np.random.normal() def activate(self, inputs): x = np.dot(self.w, inputs) + self.b return sig(x)

Math.py

import numpy as np def sig(x): return 1 / (1 + np.exp(-x))

Эти файлы мы будем использовать в следующих статьях при построении нейронных сетей.

Итак, подведем итоги:

  1. Мы изучили принципы работы искусственных нейронов
  2. Мы изучили формулы, которые используются при работе нейронов
  3. Написал класс нейрона на языке программирования Python.
Если вы что-то не поняли, задавайте вопросы в комментариях.

Теги: #python #искусственный интеллект #нейронные сети #нейронные сети #нейронная сеть #ais #нейроны #нейрон #нейронная сеть #ins #sigmoid #искусственные нейронные сети

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.