Comments 92
Ну зачем эта академичность? Господи, доказательство-то зачем?!
Заинтересуйте! Расскажите интересно и в доступной форме! Копипаста лекций не слишком с этой ролью справляется.
У нас, когда-то, даже в лекциях по этой теме было больше картинок…
Смотрите пример.
Там нет теорем и доказательств, но тем не менее работает. :)
да. обучение вообще не зависит от начального обучающего вектора. точнее почти не зависит.
нет. вопрос был о другом. как быть, если обучающая выборка содержит ошибки или случайным образом зашумляется?
ответ: как говорится, it depends

зависит от сети, от шума, и главным образом от той зависимости, которой вы обучаете.

it depends
какая разница, содержит ошибки(шум) обучающая выборка или нет? она по определению должна содержать ошибки, иначе алгоритм завершиться на первой итерации(тогда непонятно зачем он вообще нужен?). А вот от типа сети и от алгоритма обучения зависит. тут я с вами согласен.
вы не поняли

допустим, мы учим сетку решать линейные уравнения. входы: a, b, выходы — корень

обучающая выборка — 1000 уравнений с решениями, тестовая 10

и если все гладко, то есть шанс ее научить. а вот если в обучающей будет штук 10 ошибок, то есть неправильных решений? а если 100? а если мы будем с вероятностью 5% обучающий пример заменять на какую-нибудь ахинею, справится алгоритм? неизвестно

вот об этом и был вопрос
UFO landed and left these words here
Это неверно, вообще-то, что все так просто. Вы говорите ошибки не мешают — беру, и 10000 раз учу перцептрон, что дважды два = 5. И отпускаю на волю :) Тут, как правильно заметили ниже, все зависит от того, как обучать. Вот про это я и спрашивал…
Не очень поняла, что вы имеете ввиду, но когда мы в универе изучали Интеллектуальные сети, приходилось программировать модель персептрона. Всё было гораздо проще. Мы обучали его обычным буквам и цифрам, вобщем, отдельным символам. Поначалу персептрон(мы так его называли, не через Ц) нужно было обучить, затем можно было модифицировать буквы, например, из А сделать Н или из Е Р и он их распознавал. Когда уж сильно «поиздеваться» над буквой, персептрон может либо выдать, что не в курсе что это такое, либо сравнить то, что мы ему предложили с несколькими буковками. Сама буква выглядела как массив 5х8 из… эээ… как бы это описать… квадратиков. Если он активный, то цветной, если не активный, то белый. Вот так клацая на квадратики наш препод издевался над буквами, а потом и над нами)))))))))))))
P.S. Честно говоря, предмет мне не понравился… а само сочетание слов Искусственный интеллект до сих пор весь наш матфак вводит в смех))).
А на счет применения… мне кажется, что подобную систему используют программы распознавания текста.
намного более умную. анализировать пиксельные картинки большого разрешения напрямую через НС неэффективно
UFO landed and left these words here
это не панацея. с пиксельными картинками главная проблема — позиционирование изображения, толщина линий и изменчивость формы (более характерно для рукописных или сложнооформленных текстов). для передачи НС нужно делать умную, почти экспертную систему препроцессинга для «векторизации» буквы.

впрочем, это уже не моя вотчина, нужно спрашивать узких специалистов
UFO landed and left these words here
Для символов часто достаточно просто уменьшить картинку до меньшего разрешения ;)
плиз расскажите о задаче. что распознавалось, какие шрифты, какое качество картинки, структура сети, ход обучения, доля ошибок
примитивно — опознать рукописный символ введенный мышкой на экране :). Но давно это было. Приводиться к какому то небольшому размеру и потом уже распознается.
странно. и какая обучающая выборка? какой процент распознавания?

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

В целом написать OCR задача очень сложная. Хотя бы предложите алгоритм выравнивания листа с текстом или выделение регионов с текстом…
А можно подробнее — как они практически используются?
И есть ли какие-нибудь библиотеки, позволяющие их применять?
www.ci.ru/inform16_05/p_24.htm — это примеры использования.
Библиотеки — для Statistica точно был модуль. Да и самостоятельно пишется нейронная сеть довольно просто.
Вообще-то, програмист (и тем более аспирант), должен знать, где и для чего применяются нейронные сети.
UFO landed and left these words here
> Сети бывают 2х видов: однослойные, многослойные.

Конфигураций сетей бывает бесконечное множество, в том числе и с рекурсивными связями.
странная лекция… мне кажется за пару можно больше рассказать )
традиционно в этой лекции рассказывают еще о различии между запоминанием НС значений обучающей выборки и собственно обучением. нужно владеть и применять методику обучающего и тестирующего этапов эксперимента, а то вполне можно по погоде в Гонолулу курс тугрика предсказывать. было бы желание.
Искусственного интеллекта не бывает.
Мышление на алгоритмизируется.
Нейронные сети не являются моделью поведения человеческого мозга.
Несмотря на громкие разговоры до сих пор не создано простейшей системы распознования речи.
Нет, то что предлагает Микрософт в своих продукт не является простейшей системой распознования речи.

Бла бла бла.

Добрый совет: не теряйте время на эту дребедень.
То, что нейронные сети не моделируют мозг, не является причиной их не изучать и не использовать в различных прикладных задачах.
UFO landed and left these words here
То есть их как бы случайно обсуждают в блоге «Искусственный интеллект», а на самом деле они должны были быть в блоге «Прикольные математические абстракции»?
А разве искусственный интеллект это только моделирование мозга? В википедии, например, сказано так:

Artificial intelligence (AI) is the intelligence of machines and the branch of computer science which aims to create it.

Major AI textbooks define artificial intelligence as «the study and design of intelligent agents,» where an intelligent agent is a system that perceives its environment and takes actions which maximize its chances of success. John McCarthy, who coined the term in 1956, defines it as «the science and engineering of making intelligent machines.»


Мне кажется, какую-нибудь нейронную сеть, играющую в крестики-нолики, можно рассматривать в качестве «system that perceives its environment and takes actions which maximize its chances of success».
Это словоблудие ;-) Если что-то не прошло тест Тьюринга, значит это не искусственный интеллект. А все остальное — это просто алгоритмы, направленные на достижение тех или иных строго формализованных целей.
UFO landed and left these words here
Хорошо, к завтрашнему напишите программку — на входе AVI-шник, на выходе — краткое описание содержания фильма.
Когда справитесь приходите продолжим разговаривать.
Тролли, раз у вас время есть меня минусовать, поди ИИ-то уже написан. Так это — в народ его даешь!!! Не стесняйтесь! Если от своего имени не хотите — присылайте, я от своего опубликую…
UFO landed and left these words here
UFO landed and left these words here
Хотя вы тут и каламбурили/пререкались я вот подумал, а возможно ли. И пришел к выводу писателя Булгакова.

Обучающая выборка с фильмами очень большая будет для такой сети. И обучаться будет лет пять-десять. Будет содержать непонятно сколько уровней… А с учетом того что это будет почти человек, то вопрос зачем это делать если можно этого достичь просто природным способом — пойти родить ребенка.

Хотя другой вопрос ограничение сверху по возросту людей может ограничивать нас в развитии. Может по этому мы не изобрели…
Идем по следам karma?

Будь Пенроуз хабраюзером, я бы и его заминусовал, ибо доказательств этому утверждению ни у него, ни у тебя нет, один самопиар. А Курцвейл, между прочим, сканер изобрел, читалку для слепых, предсказал победу глубокого голубого над Каспаровым и его позиция по ИИ выглядит как-то более обоснованной:)
> Искусственного интеллекта не бывает.
> Мышление на алгоритмизируется.

А все-таки хочется попробовать :).

Сидишь себе, делами всякими интересными занимаешься, а искусственный интеллект знай себе код пишет, или сразу диссертацию… :)
Вообще-то нейронные сети используются, и их использование в некоторых областях вполне оправданно. По этому «не терять время на эту дребедень» — не очень хороший совет.

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

Почему, на Ваш взгляд, мышление не алгоритмизуется?
UFO landed and left these words here
Это все Ваши эротические фантазии. Про компьютеров, создающих музыки и т.п. Не теряйте времени, я серьезно — займитесь более практическими вещами.
UFO landed and left these words here
Вы поймите: любой алгоритм, даже искуссный, даже весьма трудно формализуемый, остается алгоритмом. А не искусственным интеллектом. Комьютер безусловно можно написать музыку, подбирая ноты в соответствии с гармоническими законами (заданными в алгоритме человеком). Вот только оценить, что музыка хорошая или нет — не сможет.
Понимаете, Моцарт в свое время тоже бросал кости, чтобы выбрать один из похожих вариантов начала произведения. Он мог и компьютер использовать для этого.
И в шахматы играют компьютеры. Да, никто и не спорит, они только в Го не играют. Потому что в шахматах работает брутальный перебор всех вариантов, а в Го — нет, там надо _думать_.

Насчет самолетов — это вообще клево!

Вы себе представляете уровень ответственности прибора, который помогает уходить от столкновения с другим самолетом?

Вы серьезно думаете, что внутри него лежит нейронная сеть, которую накачали сотней вариантов поведения??????

И что когда начнет разбор после очередной аварии и в компанию-производителя софта придут следователи и спросят — «почему это он сказал вниз, хотя надо было — вверх», то программисты им ответят — «а шут его знает! так сеть решила»? Вы действительно так думаете?? Вам тада надо давно в Боинг резюме послать…
UFO landed and left these words here
А на моем факультете вчера сделали искусственного имхота! И научили его постить комменты на хабре — круто, правда?!

imnot, ну сознайтесь, что Вы всего лишь искусственный интеллект, ну ради тысяч прочих недоучек, которые тут читают тексты! Ну пусть верят, пусть…
UFO landed and left these words here
Нейронные сети состоят из нейронов, как и мозг, вот и все сходства между ними. Мозг значительно более сложная система, чем н.с.

На тему устройства мозга и принципов его работы есть книжка Джеффа Хокинса и Сандры Блейксли «Об интеллекте».
UFO landed and left these words here
имхот, вы видимо не понимаете о чем я пишу. Давайте я вам разжую в рот.
Да, может быть существует алгоритм, управляющий обучаемой сетью, позволяющий неизвестным способом ее обучить и предлагать некие «решения» по неким исходным данным.
Но когда Вы пытаетесь это использовать в Вашем мега-приборе и воткнуть в самолет, то возникают две малюсенькие проблемы:

1. никто не гарантирует, что сеть выдаст правильное решение, поскольку сама природа нейронных сетей такова. Алгоритм их работы не предполагает объяснение своего решения. Отсюда возникает вопрос — если система ошиблась, кто виноват?
Если бы использовалась обычная алгоритмическая система, то место ошибки быстро и легко находится: либо алгоритм накормили неправильными данными, либо ошибка в самом алгоритме, либо он неправильно выдал результат. А в случае с нейронной сетью программисты разводят руками и говорят — " дык, нас имхот убедил, что все работает. Извините! Но давайте еще раз попробуем, может она в следующий раз нормально сработает?..".

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

НЕЙРОННАЯ СЕТЬ НЕ ГАРАНТИРУЕТ ПОЛУЧЕНИЕ ВЕРНОГО РЕШЕНИЯ.
ОТСЮДА ОГРАНИЧЕННОСТЬ ЕЕ ПРИМЕНЕНИЯ.

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

Разжевываю вторую мысль:

ПРОЦЕСС РЕШЕНИЯ ЗАДАЧИ НЕЙРОННОЙ СЕТЬЮ НЕПРОЗРАЧЕН, ЭТО ЧЕРНЫЙ ЯЩИК.
В ОТЛИЧИЕ ОТ ТРАДИЦИОННОГО ПОДХОДА ФОРМАЛИЗАЦИИ И СОЗДАНИЯ АЛГОРИТМОВ РЕШЕНИЯ.

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

Ждем-с!

UFO landed and left these words here
Замечательная ссылка.

Вот читаем про «Сжатие данных» о замечательных возможностях и где сравнительный анализ? В чем проблема — берем 7zip и невод, ой, то есть сеть сжимаем наборы файлов и смотрим что эффеективнее работает.

Почему нет этих сравнений если все так хорошо и замечательно работает?

Имхот, я привел два аргумента (БОЛЬШИМИ БУКВАМИ) против сетей. Не можете возразить ничего по делу — признайте поражение и тихо слиняйте. Переходить на личности как-то некрасиво ;-)
В чем кайф перепечатывать свои лекции, которые вам читают в университете? Вы хоть что-нибудь от себя добавляйте, приводите какие-нибудь примеры.
Добавил пример.
Простой, но показывает как обучить и как использовать.
Нейронные сети — тема, конечно, интересная, но мне, прожжённому прагматику, почему-то никто не объяснит, для каких прикладных задач, в частности связанных с веб-разработкой, они могут быть полезными. А без этого возникает ощущение, что это всего лишь игрушка для извращённых мозгов.
Нейронная позволяет давать ответы на факты, которых нет в обучении.

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

Как вы считаете, это будет удобно пользователю? Я думаю да.

Уже теплее. Подобные соображения были, однако, это всё красиво в теории, любопытно было бы узнать, насколько это реализуемо на практике, был ли у кого опыт реализации подобного. И не проще ли будет всё же придумать «хитроумную формулу»?
Для этого существует, к примеру, Naive Bayes — один из самый известных самообучающихся алгоритмов классификации. И он прекрасно работает — в поисковиках, спам-фильтрах и контекстной рекламе, например. Он вполне может справиться с задачей Kallisto.
то, что вы предлагаете, нельзя сделать с помощью НС, потому что нет никаких обучающих примеров.

тут помогла бы экспертная система с вручную заданными правилами.
Почему нет. Отследить движение пользователя. И сказать такое движение — такой интерес.
Такое — такой.
то есть вы зададите соответствие между определенным типом действий и одним из нескольких поведений системы, сформируете набор обучающих примеров и станете учить НС?

не проще ли сразу задать правила вида ЕСЛИ -> ТО и включить необходимую гибкость в проверке условий?

поймите, НС, data mining и такое прочее должны применяться тогда, когда нет логических, формализованных, известных зависимостей между входом и выходом и надо их или выявить, или просто смоделировать.
Пример нейронных сетей на PHP. Аж мурашки по коже. Умеют же некоторые отвёрткой гвозди забивать… >_>
умеют же некоторые не посмотрев пример и убедится в его простоте писать отверткой по клавиатуре…
Можете помочь?
Я реализовал перцептрон на C++ и Qt. Но это не важно а главное что при обучение была проверка

if(sum > 1)
&nbsp annAns = 1;
else
&nbsp annAns = -1;

Где sum — произведение входного вектора на вектор весов, а annAns — выход перцептрона(+1 или -1), в if'е 1 — это пороговое значение.

а при тесте системы уже использую код:

if(sum > 1)
&nbsp annAns = -1;
else
&nbsp annAns = 1;

И получаю правильные ответы. Почему так?
Кстати, мне хотелось бы найти людей по-настоящему увлечённых нейросетями и искуственным интеллектом. Сам этим занимался долгое время, да и сейчас кое-какие идеи крутятся…
Тут есть такие? Отпишитесь, если не трудно.
UFO landed and left these words here
UFO landed and left these words here
Для описания связей между нейронами можно провести аналогию с социальными сетями. Ваши друзья — это первый слой, друзья ваших друзей — второй и так далее.


здесь я вижу ненужную литературизацию.
НС читаются не только ИТ-сообществу, но и студентам 1-2 курса, которые понятия не имеют о том, что такое СС

ps А текст, конечно, мерзкий
UFO landed and left these words here
в таком виде инфомация есть в любом учебнике. уж если писать — то писать популярно.
По-моему отличный пример на PHP
статью можно не читать, кто не любит формулы — из кода всё и так ясно)
UFO landed and left these words here
UFO landed and left these words here
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in index.php on line 8

Что-то я не пойму почему?
Спасибо, дома на Леопарде все прояснилось (на работе Тигра, там PHP4 (надо обновить)). Забавная штука, на выходных поиграюсь. Пишите еще, я когда-то работал с нейрокомпьютерами и мне эта тема очень интересна.
Есть только один вопрос который мне голову вскрывает. Как вы высчитали порог? Его можно любым выставить или надо как то высчитать его?
Да, мне тоже интересно откуда взялось это магическое 100? Если, порог, как и веса задан случайно, то почему об этом ни слова?
Вопрос есть. В Вашем примере минимальный квадрат состоит из 8 единичек.
Вертикальная/горизонтальная линия состоит из стольки же.
Вопрос: как отличить такой квадрат от линии, если перцептрону плевать на структуру, он только суммой оперирует?
Only those users with full accounts are able to leave comments. Log in, please.