Pull to refresh

Comments 84

«хабракат» это как «первыйнах», чесслово, утомили.
эх блин… Наверное я очень грубо выразился да еще плюс к этому и опоздал…
попробую по другому…
Уважаемый kalisto… Лично я не сомневаюсь что вам в институте понравилась эта лекция… Я допускаю, что она понравится и определенному кругу пользователей на хабре…
Но прокручивать ее по адресу habrahabr.ru/new/ (а у нее достаточно не маленький размер), не очень приятно. На хабре есть хабракат под который можно спрятать большую часть несомненно полезной информации…
Воспользуйтесь им пожалуйста…
ну вот… отписал уже что погорячился и извинился… и все равно минус… да и в карму кто-то плюнул… ну да ладно. Жизни еще длинная. Будем исправляться… :)
UFO landed and left these words here
Читал Хайкина. Интересная, но тяжелая книга.

И поправьте пожалуйста, его зовут Саймон и фамилия пишется через «и». Мало ли, кто то захочет купить :)
Хочу немного предостеречь читателей ру-изданий — там много ошибок и опечаток в переводе. Сверяйтесь в других книгах.
Это автор сделал что бы с кпк на экзамене шпорами пользоваться?
Автор сделал чтобы другие люди почитали и ознакомились с НС с нуля, и самому повторить материал и лучше запомнить.
с монитора это довольно трудно воспринимать.
Еще можно было бы добавить книгу поляка (или кто он там) Станислава Осовского — Нейронные сети для обработки информации.
lolbook.nnm.ru/osovskij_nejronnye_seti_dlya_obrabotki_informacii — никаких ресурсов не пеарю, просто тут про книжку написано
Ну я бы еще посоветовал книгу Д. Рутковской (да, той самой): «Нейронные сети, генетические алгоритмы и нечеткие системы». Можно почитать хотя бы ради ГА, но и про сами сети написано неплохо.
А у меня убрали этот предмет =\

Спасибо вам, теперь будет стимул попробовать вникнуть хоть чуть-чуть.

Надеюсь будут и следующие лекции.
+ Вам в карму.
Кстати, вроде есть тематический блог — ИИ называется, вот туда и можно перенести (http://habrahabr.ru/blogs/artificial_intelligence/)

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

нормальное описание есть у И. В. Заенцева «Нейронные сети: основные модели» — правда там формулы с ошибками ))) что уже выяснилось при написании программы

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

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

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

Теория на то и теория.

а реализацию делает каждый в своих лабах
Для любителей примеров и матлаба — простенькая штучка про распознание образов:
[alphabet, targets]=prprob;
i=1; %буква A
ti=alphabet(:, i);
letter{i}=reshape(ti,5,7)';
letter{i};

[R, Q]=size(alphabet);
[S2, Q]=size(targets);

S1=10;
net=newff(minmax(alphabet),[S1 S2],{'logsig' 'logsig'},'traingdx');
net.LW{2,1}=net.LW{2,1}*0.01;
net.b{2}=net.b{2}*0.01;
gensim(net);%

% обучение без шума
P=alphabet;
T=targets;
net.performfcn='sse';
net.trainparam.goal=0.1;
net.trainparam.show=100;
net.trainparam.epochs=5000;
net.trainparam.mc=0.95;
[net, tr]=train(net, P, T);

% обучение с шумом
netn=net;
netn.trainparam.goal=0.6;
netn.trainparam.epochs=300;
T=[targets targets targets targets];
for pass=1:10
P=[alphabet, alphabet,…
(alphabet+randn(R, Q)*0.1),…
(alphabet+randn(R, Q)*0.2)];
[netn, tr]=train(netn, P, T);
end

% повторное обучение без шума
netn.trainparam.goal=0.1;
netn.trainparam.epochs=500;
net.trainparam.show=10;
[netn, tr]=train(netn, P, T);

noisya=alphabet(:,1)+randn(35,1)*0.2;
figure(1)
plotchar(noisya);

a=sim(net, noisya);
a=compet(a);
answer=find(compet(a)==1)
figure(2)
plotchar(alphabet(:, answer));
Есть определенное количество готового софта, которое решает задачи как средствами нейронных сетей, так и генных алгоритмов. Кстати эти эти подходы стоит рассматривать рядом, т.к. они оба из области нечеткой логики и имеют много общих достоинств (и недостатков, конечно)
Это понятно, что софт есть, мне просто кажется, что раз в статье рассмотрен математический алгоритм построения нейронных сетей, было бы логично привести соответствующий код(желательно, который автор сам написал) на каком-нибудь распространенном языке(C, Python, Ruby, Haskell, эзотика вроде матлаба интересна слишком узкому кругу людей).
Насчёт экзотичности матлаба не соглашусь с Вами.
Для каждой задачи — свой язык. Для людей, занимающихся нейронными сетями и прочими разделами machine learning, матлаб — такой же естественный инструмент, как PHP/Ruby для веб-разработчика.
Где-то у меня был диск с исходниками на С. Пишите по почте (или в IM) — попробую найти и переслать. Возможно даже где-то даже найдется скан книги, с которой шел диск с примерами.
Даже не так :)
Я дам Вам ссылку на описание книги и архив с исходниками.

Книга очень доходчивая, интересная, внутри рассмотрена теория с примерами (прям листинги по ходу глав).

Возможно, Вы найдете эту книгу по названию (скана у меня точно нет, есть бумажный вариант, но если бы был — я бы обязательно поделился).

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


S = W0X0 + W1X1 + W2X2 +… + WnXn, где X0 = 1, W0 = O.
(классический нейрон)

В обобщённом КН…
Самое интересное, что идея-то не новая. В свое время теорией нейронных сетей занимались два больших НИИ в СССР. Но к сожалению, тогда не получив каких-либо «полезных результатов» (на тот момент из-за нехватки системных ресурсов), направление прикрыли (а кто знает может и продолжили, только перевели в разряд «секретно»). Тогда нейронным сетям пророчили большое будущее, возможность создания искусственного интеллекта и т.д. Но в итоге было доказано, чтобы создать что-то мыслящее на тот момент не хватало вычислительных мощностей аппаратуры. Кто знает, может вернувшись к этой теме, при наличии нынешних мощностей комп. техники, что-то и получится? Время покажет. Автору, спасибо.
К сожалению, с тех пор проблема не больно то и сдвинулась с места. Говоря простым языком: ИНС сейчас также близки к ИИ, как попытки наших предков имитировать птичьи крылья в попытках полететь.
Я когда-то работал в таком. НЦН РАН назывался и расшифровывался как Научный Центр Нейрокомпьютеров Российской Академии Наук (тогда уже Российской — 1992 год). Наша лаборатория мастерила язык программирования для нейрокомпьютеров, а точнее делала кальку с языка AXON по какой-то распечатке буржуйского описания этого языка.
Забавный факт:
Как известно, современные компьютеры используют последовательные вычисления, а нейронные сети — это подход параллельных вычислений и компьютеры в железе могут быть построены и на них.
Так вот, то что мы пользуемся тем, чем пользуемся в некоторой степени случайность, т.к. до второй мировой разработка железа и под последовательные и под параллельные вычисления шла примерно одинаковыми темпами. Но первыми заказчиками оказались военные, а им нужна была точность при расчете баллистических траекторий.
А ведь все могло быть совсем по другому…
Вы забываете, что нейросети не так универсальны, как набор реле и транзисторов.
Нейрокомпьютер тоже на реле с транзисторами можно сделать:-)
А говоря о параллельных и последовательных вычислениях — у любого подхода есть свои сильные и слабые стороны. Но что такого принципиально не могут нейронные сети?
Они много чего могут. Вместе. А вот каждая в отдельности способна решать только одну задачу и то не сразу — ну куда это годится?
UFO landed and left these words here
О вот это круто! А потом больше нейронными сетями не занимались?
UFO landed and left these words here
Подождите след. лекций.

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

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

Но для одних случаев простые деревья решений дают намного лучший, устойчивый и наглядный результат чем нейросети. Для более сложных случаев — классный метод кластеризации SP-clustering.
В общем не стоить ждать от нейросетей чудес. Хотя идея сама по себе красивая.
Насчёт деревьев согласен. К тому же имея большой объем данных, и не имея информации о структуре легко «переобучить» сеть, так что можно пропустить тот момент когда она будет не просто преобразовывать входные данные, но сама начнёт вносить ошибку в результат.
Господа, не забывайте, что вы ведете разговор не о самих нейронных сетях, а о программных нейроимитаторах. Сама концепция, а именно преимущества, нейронных сетей заключаются в параллельной обработке входных сигналов (данных). Поэтому не стоит делать поспешных выводов о целесообразности применения ИНС в той или иной задаче.
Для меня как для человека, который о НС только слышал, статья оказалась не совсем понятной. Есть ряд вещей, которые автор упомянул, но не раскрыл хотя бы небольшим примером. Примеры(лучше из жизни) всегда делают лекцию более живой, понятной и более усваиваемой. Надеюсь автор это учтет при написании лекции №2.
В целом — лекция понравилась.
Спасибо за статью! Единственно непонятно почему не склоняются термины (которые выделены жирным). Наверное в этом есть какой-то смысл при индексировании и запоминании, но читать неприятно.
Замечательно. Спасибо большое.
У нас тоже этот предмет есть, но лекторр чтото увлекся введениями и ничего толкового ещё не рассказал.
Даю ссылку на архив с нормальными иллюстрациями к статье. Файлы в формате EPS, созданные в Люстре CS3. Надеюсь, что вы знаете что с ними делать, если я где-то ошибся, например в графике сигмоидальной функции.

Ну и сама картинка со всеми иллюстрациями:
Only those users with full accounts are able to leave comments. Log in, please.