К сожалению, с тех пор проблема не больно то и сдвинулась с места. Говоря простым языком: ИНС сейчас также близки к ИИ, как попытки наших предков имитировать птичьи крылья в попытках полететь.
Для любителей примеров и матлаба — простенькая штучка про распознание образов:
[alphabet, targets]=prprob;
i=1; %буква A
ti=alphabet(:, i);
letter{i}=reshape(ti,5,7)';
letter{i};
ART-1, ART-2, неокогнитрон…
С другой стороны, должен признать, инс Кохонена до сих пор весьма сильный инструмент. Сам сейчас работаю над одной штучкой, которая будет искать «похожести» в подаваемых данных — картинках или музыке, например.
Полностью согласен. К счастью, а может и наоборот, имею некоторый опыт в разработке бесплатных сервисов. И могу сказать только одно — разработчик ВСЕГДА ПРАВ!.. Да-да, как бы это не противоречило общей логике. Могу даже объяснить почему. ВСЕМ ВСЕРАВНО НИКОГДА НЕ УГОДИШЬ. Да, я не утверждаю, что нужно быть слепым и глухим к комментариям и предложениям пользователь, но последнее слово всегда за разработчиком. Поэтому нужно просто сжать кулаки и реализовывать свой замысел. Удачи разрабам хабра!
Эх, юность-юность (-:
Помню свои «гениальнейшие творения»: резиномоторная подводная лодка, катер на воздушной подушке, машинки всякие на электромоторах… А сейчас — шасси для машинки без всего пару Кбаксов стоит )-:
Осмелюсь предположить, если в самолетиках сделать скорость перемещений ниже, но добавить немного инерционности, было бы веселее. Но эт лично мое мнение.
Слушайте, ну ведь давно уже существуют нейросетевые алгоритмы, имитирующие восприятие изображения (статического и движущегося) человеческим глазом. Очевидно ведь, что это быстрее и дешевле. Неужели никто это не использует на практике?
[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));
С другой стороны, должен признать, инс Кохонена до сих пор весьма сильный инструмент. Сам сейчас работаю над одной штучкой, которая будет искать «похожести» в подаваемых данных — картинках или музыке, например.
Помню свои «гениальнейшие творения»: резиномоторная подводная лодка, катер на воздушной подушке, машинки всякие на электромоторах… А сейчас — шасси для машинки без всего пару Кбаксов стоит )-:
http://www.2die4ny.ru