Тема 2012 года, так задам свой вопрос сюда, вот сама тема https://php.ru/forum/threads/nejronnaja-set-na-php-moja-pervaja-rabotajuschaja.40513/ там человечек создал нейронную сеть которая картинки распознает? я так и не понял что она делает вот его сайт где тренируется нейронная сеть http://xcont.com/perc/newperceptron/ у меня сразу вопрос: Не понимаю а в чем тут обучаемость? Судя по тексту который показывает этап обучаемости, система уже знает какую я выбрал цифру, и система просто плюсует веса тому что я выбрал. Можно сделать так же 1 2 3 я выбрал 2 1 false 2 false ( весы +1) 3 false еще раз 1 false 2 false ( весы +1) 3 false 1 false 2 true ( весы +1) 3 false Где тут обучаемость? ведь система уже знает что я выбрал 2 ( потому что она только ему добавляет веса ) так какой смысл в такой обучаемости?
Это тестовый пример, он просто его не доделал до состояния, когда бы пользователь скармливал после обучения собственноручно (но похоже на образец) нарисованную цифру, чтобы сеть определяла, какая цифра нарисована. Смысл в этом. Код его я не изучал, поэтому не знаю, потянет или нет, но смысл нейронной сети в этом
@drakonik999, система знает какую Вы выбрали цифру, но нейронная сеть нет. Тут 10 нейронов, у каждого из них по 15 синапсов. Картинка делится на 15 сегментов (3 по горизонтали и 5 по вертикали). Каждый синапс подключен к пиклелю в центре такого сегмента. На синапсы поступают сигналы 0 или 1 в зависимости от уровня красной компоненты rgb (автор использует красный канал) - 1 при уровне красного ниже 128 и 0 в противном случае. Т.е. белый цвет - 0, а черный 1. У каждого синапса есть веса. Каждому нейрону соответствует свой файл весов например для 7го нейрона это http://xcont.com/perc/newperceptron/wp/w7.txt. Эти файлы каждый раз обновляются, когда нейрон дает неправильный ответ (плюсуются и минусуются веса). Судя по тому как минусуются и плюсуются веса - сеть не обучится никогда. PHP: public function teach_plus(){ for($x=0;$x<$this->sizeX;$x++){ for($y=0;$y<$this->sizeY;$y++){ $this->weight[$x][$y]+=$this->sinaps[$x][$y]; } } } public function teach_minus(){ for($x=0;$x<$this->sizeX;$x++){ for($y=0;$y<$this->sizeY;$y++){ $this->weight[$x][$y]-=$this->sinaps[$x][$y]; } } }
@drakonik999 тебе бы почитать о нейронных сетях для начала и как это и с чем есть. --- Добавлено --- на хабре про это статей закачаешься. Сядь поизучай