Яндекс.Метрика

    Искуственный интеллект

    Ручное проектирование параметров нейросетей

    Автор статьи airlight. Оценим и поддержим новичка.


    Мне запала в голову идея ручного проектирования нейронных сетей. При всем при том, что сильная сторона нейросетей в их автоматическом обучении, неплохо было бы понимать принципы, по которым они устроены.

    Итак, процесс умножения в нейросетях. Чтобы нейронная сеть распознавала входящие параметры, количество порогов первого слоя должно соответствовать всему множеству вариантов сочетания входных параметров. То есть, порог каждого нейрона рассекает пространство по одному из параметров на два подпространства. В моем примере производится умножение двух чисел от 0 до 4. Итого, получается квадрат 5х5 и нам нужно 4х4=16 рассечений.


    С другой стороны, чтобы получить от нейросети ответ нам нужно поделить выходной интервал на требуемую точность. У меня точность в единицах и опять получилось 16. Значит в последнем слое тоже должно быть 16 нейронов. Совпадение.


    Так как я разучился программировать, я решил реализовать свою модель в Экселе. Процедура оказалось чуть сложнее, чем мне сначала представлялось, и заняла около 20-ти часов. Я не знал как это будет выглядеть, но догадывался куда двигаться, в общем, меня вела интуиция.

    В моем примере каждый нейрон представлен небольшой матрицей, которая показывает каким будет выходной сигнал данного нейрона, в зависимости от комбинации входящих параметров и порогов. По столбцам задается вход №1, по строкам вход №2. И есть еще суммирующий выход, который суммирует одинаковые клетки матриц.

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

    Ссылки
    Таблица: тут (Гугльдокс)

    Форма для предложений и замечаний: здесь и, конечно же, в комментариях.

    Литература:

    neuroschool.narod.ru/books/neurinf.html

    www.neuroproject.ru/Papers/Neurocomputing.htm

    Автор статьи airlight. Оценим и поддержим новичка.