войти зарегистрироваться

Искусственный интеллектАнтинейроны и обучение на ошибках

image

Вместо предисловия


В недавнем прошлом судьба привела меня в область Нейронных Сетей (НС). Вопрос этот показался мне крайне интересным и, чего уж скрывать, не на шутку перспективным. Ах, какой простор открывается лишь при одной мысли что бы можно было сделать на основе НС, если бы только развить еще буквально чуть-чуть! И вот совсем недавно ко мне в голову забрела интересная (на мой взгляд, конечно) концепция. О да, я ни коем образом не претендую на истинность и правомерность своих суждений в вопросе НС, ибо, признаться честно, в этой области я дилетант (хочется верить, что только пока). Тем не менее, любопытствующих приглашаю под хабракат. Жду (конструктивных мнений), надеюсь (на снисхождение) и верю (в понимание).

Веб-разработкаСоздание оригинальной каптчи, используя нейронные сети. Часть 1 из песочницы

Как и у всех программистов, недавно у меня возникло желание изобрести собственный “велосипед”. Так как изобретать свою CMS, Framework, и т.д. уже не актуально, то мой взор обратился на каптчу. Казалось бы, что тут можно придумать оригинального, каких только каптч не существует: 2D-картинка, 3D-картинка, звуковая каптча, выбор “правильной” картинки. Но мне пришла в голову мысль, что создатели каптч думают как-то однобоко, то есть все хотят получить однозначно правильный ответ от пользователя (и обычно в тестовом поле), причем в простом виде, серверу лишь остается сравнить ответ с исходными данными! Вот я и решил исправить это дело и создать собственную “умную” каптчу.

.NETВзлом матановой капчи на C# — это просто!

В этом топике я хочу вам рассказать о взломе т.н. «матан-капчи», пример которой был представлен в недавнем топике Матановая капча на PHP — это просто!.
Прочитав статью автора об этой замечательной капче, мне захотелось написать программу для её распознавания, как говорится just for fun ;)

РобототехникаРоботы проявили альтруизм в процессе эволюции

Эволюционные биологи из университета Лозанны (Швейцария) смогли доказать, что альтруизм у живых существ возник в результате естественного отбора, то есть является врождённым качеством, необходимым для выживания родичей. Они показали это на примере роботов, чьё программное обеспечение модифицировалось с помощью эволюционных алгоритмов.

Искусственный интеллектМногослойный перцептрон (с примером на PHP) из песочницы

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

Искусственный интеллектSpiNNaker — нейронный компьютер

Прочитав недавно опубликованную статью «Обзор современных проектов крупномасштабного моделирования мозговой активности», хотелось бы рассказать о другом подобном проекте, проводимом научной группой Манчестерского Университета в Великобритании под руководством профессора
Стива Фурбера (Steve Furber), создателя BBC Microcomputer и 32-битного ARM RISC микропроцессора, а также основателя компании ARM.

Искусственный интеллектГибридный логический нейрон

Если распознающая машина-персептрон на рисунок слона отзывается сигналом «мура», на изображение верблюда — тоже «мура» и на портрет видного ученого — опять-таки «мура», это не обязательно означает, что она неисправна. Она может быть просто философски настроена.
К. Прутков-инженер. Мысль № 30.

Строгая логическая функция активации


Копируя принцип действия биологического нейрона при создании искусственных нейронных сетей, мы особо не задумываемся, какой смысл приобретает функция активации логической модели нейрона. Функция всегда записывается в виде логической суммы, логического «И» для конкретного набора входов и именно одновременная активность этих входов активирует наш нейрон. Если откинуть внешнюю смысловую привязку входов мы можем описать активацию нейрона следующим образом. Для одного внешнего события состоящего из набора входящих образов происходит объединение конкретной группы из пришедших образов в новый чисто логический образ — абстрагирование. Уже для группы таких событий активирующих нейрон, происходит выделение общего набора — обобщение.

Искусственный интеллектНейронная сеть на спичечных коробках

Я не помню где брал эту информацию, но она отражает суть нейросетей лучше всего. На пальцах.

Правила игры. НС обучается играть в игру «11 палочек». Можно брать либо 1 палочку, либо 2. Нужно вытянуть последним все палочки.

Берем 10 спичечных коробков и в каждый помещаем пуговки двух цветов. Например, черного и белого. По одной штуке. Номер на коробке будет отвечать за количество палочек в текущий момент.

Например, НС начинает ход.

1. Закрываем глаза и вытаскиваем наугад пуговку из коробки под номером 11. Если черная, то берем одну палочку, если белая — две. (Пусть будет белая — 2 палочки).
2. Ход человека. Например, он взял 2 палочки.
3. Далее, берем коробок под номером 11-2-2 = 7 и вытаскиваем наугад из него пуговку.

Так до тех пор пока игра не закончится.

Если НС выиграла, то поощряем найденное решение добавлением в задействованные коробки по одной пуговке сверху тогоже цвета что и вытягивали. Если НС проиграла, то наказываем, убирая из последнего коробка вытянутую пуговку.

Вот и вся нейросеть из 10 узлов которая, изначально, не зная даже правил, учится играть и начинает обыгрывать человека. Если изменить правила и, например, тот кто последний забирает палочки проигрывает, то НС переучится и опять начнет побеждать.

Тут, конечно, масштаб незначителен, но он хорошо показывает, что НС хороша тем, что есть возможность гибкого обучения и подстраивания под правила игры.

Персональные блоги Использование нейронной сети Хопфилда для решения простейшей задачи

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

Разговоры об искусственном интеллекте и громоздких экспертных системах — это конечно все хорошо, но как всю эту теорию приблизить к жизни, к нашим приклодным задачам?

Искусственный интеллектРаспознавание цифр с помощью однослойного перцептрона (с примером)

Однослойный перцептрон — это нейронная сеть с одним слоем нейронов. Структура ее проста, а это как нельзя лучше подходит для первого знакомства с нейронными сетями, что и произошло недавно с автором данной статьи.

Можно найти множество теории по данной теме, в том числе и на хабре, но вот новички могут столкнуться с некоторым отсутствием практических примеров и сложностью этой самой теории. Именно поэтому и было принято решение поделиться работающей реализацией перцептрона, умеющего распознавать цифры, и на ее примере помочь разобраться новичкам. В качестве языка был выбран Java с графическим интерфейсом на Swing.

Помимо, собственно, кода и его комментариев, в статье приведены некоторые источники информации и полезные ссылки по теме, а также разобраны некоторые важные вопросы.