-
71. Data: 2012-06-09 03:38:36
Temat: Re: Czym jest programowanie?
Od: Michoo <m...@v...pl>
On 08.06.2012 21:25, M.M. wrote:
> Słyszałem ostatnio o studencie który zgłosił się do kogoś po pomoc w
> związku z sieciami neuronowymi.
[...]
> Otóż wykładowca twierdził że sztuczna
> sieć neuronowa nie jest funkcją.
W przypadku samoorganizujących, albo rekurencyjnych sieci prezentowanie
ich jako funkcje może być dość koszmarne - z każdą iteracją rośnie
liczba zmiennych(rozmiar stanu), bo te sieci nawet dla takiego samego
wymuszenia będą dawać różny wynik w kolejnych iteracjach. Nawet gdy
każdą iterację potraktujesz jako odrębną funkcję to one będą zleżeć od
historii.
> Ponadto zadał studentowi taką sieć
> do wykonania.
Ale jak rozumiem jakieś podstawy teoretyczne były podane?
> Jednak nic z tych rzeczy, w zadaniu wyraźnie chodziło o sieć która
> dla tego samego wejścia daje różne wyjścia tak aby najlepiej błąd
> był zerowy.
Rozumiem, że chodziło o problem klasyfikacji. Możesz padać jakieś
bliższe szczegóły? Bo na razie jest to bardzo niejasne - jakie było
wejście, jakie wyjście, jaka sieć miała być użyta, etc.
> Wykładowca odrzucał argument że sztuczna sieć neuronowa
Są sztucznE sieCI neuronowE - wiele różnych klas o zauważalnie różnych
właściwościach.
> Jedno sztucznym sieciom neuronowym należy oddać: sukces marketingowy
> na maksa,
I sporo praktycznych zastosowań - ocr, czujniki, wykrywanie defektów w
produkcji.
> ludzie cały czas myślą że to jest jakiś cudowne możliwości.
Sztuczne sieci neuronowe to są bardzo dobre metaheurystyki głównie dla
problemów klasyfikacji, aproksymacji czy operowania na danych rozmytych.
Jak to z metaheurystykami - nie ma co oczekiwać cudów, ale z drugiej
strony to co potrafią zrobić w swojej dziedzinie naprawdę wprawia w
zdumienie - w ramach projektu zrobiłem prosty OCR radzący sobie z
zeskanowanymi cyframi - sieć mająca zaledwie 13 neuronów warstwy ukrytej
rozpoznawała je z ponad 80% dokładnością.
--
Pozdrawiam
Michoo
-
72. Data: 2012-06-09 06:15:33
Temat: Re: Czym jest programowanie?
Od: " M.M." <m...@g...pl>
Michoo <m...@v...pl> napisał(a):
> On 08.06.2012 21:25, M.M. wrote:
> > Słyszałem ostatnio o studencie który zgłosił się do kogoś po pomoc w
> > związku z sieciami neuronowymi.
> [...]
> > Otóż wykładowca twierdził że sztuczna
> > sieć neuronowa nie jest funkcją.
> W przypadku samoorganizujących, albo rekurencyjnych sieci prezentowanie
> ich jako funkcje może być dość koszmarne[]
Czy ja wiem czy takie koszmarne? Mam funkcję opisaną na wejściu i
architekturze. Jeśli sieć ma wewnętrzną pamięć jest trochę trudniej.
Są dwie funkcje, jedna opisuje wyjście w zależności od
( architektury x stanu wewnętrznego x wejścia)
druga stan następny w zależności:
( stanu poprzedniego x wejścia x architektury ). Rzekłbym wygodne a nie
koszmarne.
> z każdą iteracją rośnie liczba zmiennych(rozmiar stanu), bo te sieci
> nawet dla takiego samego wymuszenia będą dawać różny wynik w kolejnych
> iteracjach. Nawet gdy każdą iterację potraktujesz jako odrębną funkcję
> to one będą zleżeć od historii.
Dlatego w takich sieciach funkcja jest jeszcze opisana na stanie wewnętrznym,
czy na czynniku losowym, itd.
> > Ponadto zadał studentowi taką sieć
> > do wykonania.
> Ale jak rozumiem jakieś podstawy teoretyczne były podane?
>
> > Jednak nic z tych rzeczy, w zadaniu wyraźnie chodziło o sieć która
> > dla tego samego wejścia daje różne wyjścia tak aby najlepiej błąd
> > był zerowy.
> Rozumiem, że chodziło o problem klasyfikacji. Możesz padać jakieś
> bliższe szczegóły? Bo na razie jest to bardzo niejasne - jakie było
> wejście, jakie wyjście, jaka sieć miała być użyta, etc.
Upraszczając, chodziło o sieć realizująca taką 'funkcję':
f(3) = 5
f(3) = 8
Gdy raz podam trójkę to sieć ma podać piątkę, a drugi raz ósemkę i ma
chyba sama odgadnąć o jakie wyjście mi chodzi.
> Jak to z metaheurystykami - nie ma co oczekiwać cudów, ale z drugiej
> strony to co potrafią zrobić w swojej dziedzinie naprawdę wprawia w
> zdumienie - w ramach projektu zrobiłem prosty OCR radzący sobie z
> zeskanowanymi cyframi - sieć mająca zaledwie 13 neuronów warstwy ukrytej
> rozpoznawała je z ponad 80% dokładnością.
Mnie tak rozpoznawała odciski palców. Odcisk tak mocno zaszumiony że trudno
było w ogóle odgadnąć że to odcisk. A sieć nie miała problemów. Jednak
wystarczyło przesunięcie nawet idealnego odciska o 2-3 piksele i skuteczność
spadała w okolice losowej. Niestety budżet się wyczerpał i nie wiem jakby
działała gdybym więcej pracy w to włożył.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
73. Data: 2012-06-09 07:26:55
Temat: Re: Czym jest programowanie?
Od: " M.M." <m...@g...pl>
Andrzej Jarzabek <a...@g...com> napisał(a):
> On 06/06/2012 16:46, M.M. wrote:
> > Michoo<m...@v...pl> napisał(a):
> >
> >> Sprzętowe sztuczne sieci neuronowe? "Programujesz je" (uczysz) przez
> [...]
> > Jeśli to jest możliwe to zgoda. Obawiam się po prostu że symulowanie
> > neuronu przy pomocy elektronów jest jak symulowanie gazu przy pomocy
> > cieczy. Jedno do drugiego nie jest niepodobne. Jeśli elektrony nie są w
> > żaden sposób podobne do działania neuronów to nigdy nie będzie możliwe.
> > Potrzebny jest jakieś inne urządzenie, podobne do ludzkiego umysłu.
>
> Na tej samej zasadzie mógłbyś wziąć dajmy na to jakiś problem z fizyki,
> typu naprężenia w jakimś ośrodku, napisać równania i twierdzić, że to,
> jak dobrze te równania działają zależy, czy one są zapisane kredą na
> tablicy, czy długopisem na papierze, na maszynie do pisania, czy może
> piórem na pergaminie, w zależności od tego, jak duże lub nieduże są
> podobieństwa między twoim ośrodkiem, a kredą i tablicą, tuszem i
> papierem, maszyną do pisania i tak dalej.
No ale co z tego? Jeśli kreda ma inne właściwości niż ludzka inteligencja
to nigdy nie zachowa się do niej podobnie. Tak samo jest z elektronami,
bramkami logicznymi i wytrawionymi ścieżkami. Do jednych zjawisk są
podobne, do innych nie. Jeśli nie są podobne do SI nigdy nie ułożą się w
coś co może nam dać obraz inteligentnego zachowania. Nie chcę powiedzieć
że algorytm w abstrakcyjnym ujęciu zmienia swoje właściwości w zależności
od tego czy weźmiemy kredę czy pióro. Co najwyżej twierdzę że
żaden z algorytmów jaki może zaistnieć w ludzkim umyśle też nigdy nie
będzie miał podobnych cech do SI i być może nawet w abstrakcyjnym ujęciu
nigdy nie powstanie nic podobnego do SI.
> W skrócie - to, co prezentujesz, to myślenie magiczne. Jakość symulacji
> zależy od algorytmów a nie od tego, na czym algorytm jest
> implementowany.
Jak to magiczne? Prezentuję stanowisko twardo stojące na nogach.
Po pierwsze kolosalne znaczenie dla jakości symulacji ma to czy użyjemy
kredy, liczydła, komputera cyfrowego, albo analogowego. Widać to gołym
okiem, choćby różnice w szybkości i dokładności.
Po drugie algorytmy które uznajemy za abstrakcyjne, dogmatyczne, święte,
czy magiczne też takimi wcale nie są. Algorytmy powstają w naszych umysłach,
czyli maszyna która je tworzy/wymyśla/odkrywa to bardzo konkretną
implementacja. Wystarczy do mózgu wprowadzić odrobinę LSD, alkoholu,
zmienić ilość tlenu, zachwiać równowagę substancji odżywczych i co się
stanie z tymi algorytmami abstrakcyjnymi? Nie ma implementacji to nie
ma algorytmu.
> Akurat tak się przypadkiem składa, że robienie tego na
> elektronach jest najwydajniejszym znanym obecnie sposobem wykonywania
> obliczeń.
Nie mówię że nie, chociaż diabeł wie jakie możliwości będą miały np.
komputery kwantowe - chyba można je już uznać za znane, ale jeszcze nie
ma dobrych implementacji.
> Ale przecież jak w przyszłości będziesz miał komputer
> realizujący te same obliczenia na fotonach czy na kisielu, to wyniki
> będą takie same, nie?
Jeśli mówisz o takim komputerze zrobionym na fotonach który jest podobny
do tego na elektronach to wyniki powinny być podobne :) Chodzi o to że
fotony i elektrony mają trochę inne właściwości i można z nich inne
babki lepić :)
Aby była mowa o skutecznej symulacji jednego procesu przez drugi musi
być zachowane podobieństwo.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
74. Data: 2012-06-09 08:34:31
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com>
On 06/06/2012 09:27, slawek wrote:
>
>> A w oderwaniu od konkretnych potrzeb... skoro programowanie jest
>> tworzeniem
>> zbioru/ciągu instrukcji to dużo zależy od tego czym jest ta instrukcja.
>
> Sensowne tylko w paradygmacie imperatywnym.
Tylko przy bardzo wąskim rozumieniu "ciągu instrukcji" jako "poleceń do
wykonania w takiej kolejności". Program deklaratywny też można opisać
jako "ciąg instrukcji" w szerszym znaczeniu, a w niektórych przypadkach
nawet jako "zbiór instrukcji" (kiedy kolejność poszczególnych
"instrukcji" nie ma znaczenia - raczej nie mamy do czynienia z
paradygmatem imperatywnym).
>> W komputerze mechanicznym zbiorem instrukcji może być początkowe
>> ustawienie jakiś zapadek, wypustek i tym podobnych. W tak ogólnym
>
> Miałem przyjemność oglądać to, co zostało z komputera mechanicznego
> (elementy maszyny różnicowej, muzeum w Oxford).
Że się czepnę:
1. Maszyna różnicowa nie była komputerem w żadnym współczesnym sensie
tego słowa, tylko trochę bardziej zaawansowanym kalkulatorem. Komputerem
była inna maszyna zaprojektowana przez tego samego człowieka (maszyna
analityczna).
2. Nie widziałeś "tego, co zostało z komputera", bo żadnej z tych maszyn
współcześnie nie zbudowano. Maszynę różnicową zbudowano już w tym
stuleciu (do obejrzenia w muzeum w Londynie).
3. Maszyna analityczna według projektu miała być programowana nie
ustawianiem zapadek, tylko przy pomocy kart perforowanych (które były
znane już dużo wcześniej).
> Jednak czy naprawdę istnienie hardware (jakiegokolwiek) jest warunkiem
> koniecznym do tworzenia programów?
No więc właśnie według mnie to naturalna kolejność. Hardware się buduje
jak wiadomo, że będzie użyteczny, a wykazać użyteczność komputera można
na przykład pisząc program do niego jako proof of concept.
Zresztą właśnie jeśli chodzi o wspomnianą maszynę analityczną Babbage'a
było właśnie tak, że hardware nigdy nie powstał, a programy owszem
(patrz: dlaczego język Ada nazywa się właśnie tak).
-
75. Data: 2012-06-09 08:44:06
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com>
On 08/06/2012 11:06, Artur Muszyński wrote:
> W dniu 2012-06-06 15:58, AK pisze:
>> PS: Polecam pattern GWZ-SDK (dopiero: gdy wszystko zawiedzie, siegnij do
>> klawiatury).
>
> To oczywiste, chociaż zdarza się na tak rzadko, że nie było warto.
> Znaczy - od razu trzeba było napisać po swojemu, zamiast tracić czas na
> gotowca nie spełniającego oczekiwań.
W korporacyjnych środowiskach często (według mojego doświadczenia) się
zdarza, że wprowadzenie dodatkowych "external dependencies" wymaga
więcej zachodu, niż zaimplementowanie odpowiedniego kawałka
funkcjonalności in-house - bo musi być przyklepane na odpowiednim
szczeblu, bo prawnik musi sprawdzić zgodność licencji, bo ileś tam osób
musi ściągnąć i zainstalować i tak dalej.
-
76. Data: 2012-06-09 08:50:19
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com>
On 06/06/2012 15:57, slawek wrote:
>
> Użytkownik " M.M." <m...@g...pl> napisał w wiadomości grup
> dyskusyjnych:jqnqjj$4hb$...@i...gazeta.pl...
>> Nie wiem... Samo dłubanie w piasku bez doszukiwania się daleko idących
>> efektów motyla trudno nazwać programowaniem. Natomiast może pomagać
>> się skoncentrować, co z kolei pomoże wyobrazić sobie ciąg instrukcji
>> gotowych do zaprogramowania.
>
> Leniwi byli tamci Grecy, a zwłaszcza taki Euklides.
I co, czy chcemy odpowiedzieć na pytanie "co to jest programowanie" tak,
żeby wyszło, że Euklides był programistą?
A co do lenistwa, to Euklides przecież książkę napisał.
-
77. Data: 2012-06-09 08:52:04
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com>
On 06/06/2012 16:17, A.L. wrote:
>
> Programowanie jest odpowiednikie mspawania w inzynierii mechanicznej
W jakim sensie?
-
78. Data: 2012-06-09 11:10:16
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com>
On 09/06/2012 06:26, M.M. wrote:
> Andrzej Jarzabek<a...@g...com> napisał(a):
>> On 06/06/2012 16:46, M.M. wrote:
>> [...]
>>> Jeśli to jest możliwe to zgoda. Obawiam się po prostu że symulowanie
>>> neuronu przy pomocy elektronów jest jak symulowanie gazu przy pomocy
>>> cieczy. Jedno do drugiego nie jest niepodobne. Jeśli elektrony nie są w
>>> żaden sposób podobne do działania neuronów to nigdy nie będzie możliwe.
>>> Potrzebny jest jakieś inne urządzenie, podobne do ludzkiego umysłu.
>>
>> Na tej samej zasadzie mógłbyś wziąć dajmy na to jakiś problem z fizyki,
>> typu naprężenia w jakimś ośrodku, napisać równania i twierdzić, że to,
>> jak dobrze te równania działają zależy, czy one są zapisane kredą na
>> tablicy, czy długopisem na papierze, na maszynie do pisania, czy może
>> piórem na pergaminie, w zależności od tego, jak duże lub nieduże są
>> podobieństwa między twoim ośrodkiem, a kredą i tablicą, tuszem i
>> papierem, maszyną do pisania i tak dalej.
> No ale co z tego?
To z tego, że dokładnie na tej samej zasadzie podobieństwo fizyczne
komputera do rzeczy symulowanej przez program na nim chodzący nie ma
żadnego przełożenia na jakość symulacji. Zresztą zauważ, że już w tej
chwili na komputerach całkiem nieźle symuluje się rzeczy całkiem
niepodobne do komputerów. Jak na przykład choćby zagadnienia z mechaniki
płynów: skoro symulowanie gazu przy pomocy cieczy nie ma prawa działać,
to dlaczego tak dobrze działa symulowanie gazu przy pomocy ciała stałego
w postaci komputera?
> Jeśli kreda ma inne właściwości niż ludzka inteligencja
> to nigdy nie zachowa się do niej podobnie.
Dlaczego nie? Przecież jest mnóstwo rzeczy, które mają inne właściwości,
a zachowują się podobnie (w sensie że istnieją podobieństwa).
> Tak samo jest z elektronami,
> bramkami logicznymi i wytrawionymi ścieżkami. Do jednych zjawisk są
> podobne, do innych nie.
I na jakiej zasadzie są podobne do pojemnika z płynem, Układu
Słonecznego albo tunelu aerodynamicznego, a nie są podobne do ludzkiego
mózgu?
> Jeśli nie są podobne do SI nigdy nie ułożą się w
> coś co może nam dać obraz inteligentnego zachowania.
A jednak układają się w coś, co daje obraz Układu Słonecznego, pojemnika
z cieczą, opływu powietrza wokół karoserii jadącego samochodu i mnóstwa,
mnóstwa innych rzeczy.
> Nie chcę powiedzieć
> że algorytm w abstrakcyjnym ujęciu zmienia swoje właściwości w zależności
> od tego czy weźmiemy kredę czy pióro. Co najwyżej twierdzę że
> żaden z algorytmów jaki może zaistnieć w ludzkim umyśle też nigdy nie
> będzie miał podobnych cech do SI i być może nawet w abstrakcyjnym ujęciu
> nigdy nie powstanie nic podobnego do SI.
Być może, ale jaki to ma związek z podobieństwem elektronów do
czegokolwiek? Przecież w takiej postaci teza dotyczy tego, co może
zaistnieć w ludzkim umyśle. Ironicznie trochę w stosunku do pierwotnej
tezy, bo czy w takiej sytuacji będziesz twierdził, że w ludzkim umyśle
nie może powstać algorytm opisujący ludzki umysł, bo ludzki umysł jest
niepodobny do ludzkiego umysłu?
Po drugie zaistnienie algorytmu w ludzkim umyśle nie jest wcale
warunkiem koniecznym do zaistnienia implementacji tego algorytmu w
komputerze.
>> W skrócie - to, co prezentujesz, to myślenie magiczne. Jakość symulacji
>> zależy od algorytmów a nie od tego, na czym algorytm jest
>> implementowany.
> Jak to magiczne? Prezentuję stanowisko twardo stojące na nogach.
W tym przypadku konkretnie odwołujesz się do zasad tzw. magii sympatycznej.
> Po pierwsze kolosalne znaczenie dla jakości symulacji ma to czy użyjemy
> kredy, liczydła, komputera cyfrowego, albo analogowego. Widać to gołym
> okiem, choćby różnice w szybkości i dokładności.
Są różnice w szybkości i niezawodności, ale to jest kompletnie bez
związku. Jeśli abakista liczy wolniej i się częściej myli od komputera,
to po prostu będzie dłużej obliczał i częściej dawał niepoprawne
(niezgodne z algorytmem) wyniki. Nie ma żadnego związku z tym, czy
zjawisko modelowane przez algorytm jest bardziej podobne do obwodów
półprzewodnikowych, czy do człowieka z liczydłem.
> Po drugie algorytmy które uznajemy za abstrakcyjne, dogmatyczne, święte,
> czy magiczne też takimi wcale nie są.
Algorytmy są owszem, abstrakcyjne, ale niby czemu magiczne? Świętość
uważam, że jest kwestią opinii, "dogmatyczne" w ogóle chyba tu nie pasuje.
> Algorytmy powstają w naszych umysłach,
> czyli maszyna która je tworzy/wymyśla/odkrywa to bardzo konkretną
> implementacja.
Nie bardzo rozumiem o co chodzi?
> Wystarczy do mózgu wprowadzić odrobinę LSD, alkoholu,
> zmienić ilość tlenu, zachwiać równowagę substancji odżywczych i co się
> stanie z tymi algorytmami abstrakcyjnymi?
Nic się nie dzieje, na tym właśnie polega ich abstrakcyjność. Co
najwyżej mózg z odrobiną alkoholu, LSD czy czego tam nie będzie w stanie
myśleć o danym algorytmie. Ale przecież nie jest tak, że 2+2 przestaje
być 4 bo ktoś po pijaku przestaje umieć to policzyć.
> Nie ma implementacji to nie
> ma algorytmu.
Jeśli chodzi ci o algorytm opisujący ludzki umysł, to po pierwsze nie
bardzo rozumiem, dlaczego wprowadzanie jakichś substancji nie mogłoby
być jedym z parametrów wejściowych tego algorytmu? A po drugie, czy
nadal będziemy uznawać, że nie da się symulować działania umysłu tylko
dlatego, że naszej symulacji nie da się upić? Symulacje zawsze mają
jakieś ograniczenia, na które się zgadzamy uznając, że jest "good
enough". Możesz przecież powiedzieć, że symulujesz mieszanie płynów w
kadzi bez konieczności uwzględnienia scenariusza detonacji bomby
atomowej w pobliżu owej kadzi.
>> Akurat tak się przypadkiem składa, że robienie tego na
>> elektronach jest najwydajniejszym znanym obecnie sposobem wykonywania
>> obliczeń.
> Nie mówię że nie, chociaż diabeł wie jakie możliwości będą miały np.
> komputery kwantowe - chyba można je już uznać za znane, ale jeszcze nie
> ma dobrych implementacji.
Takie, o jakich obecnie możemy mówić nie wnoszą nic do tego, co można a
czego nie można policzyć.
>> Ale przecież jak w przyszłości będziesz miał komputer
>> realizujący te same obliczenia na fotonach czy na kisielu, to wyniki
>> będą takie same, nie?
> Jeśli mówisz o takim komputerze zrobionym na fotonach który jest podobny
> do tego na elektronach to wyniki powinny być podobne :) Chodzi o to że
> fotony i elektrony mają trochę inne właściwości i można z nich inne
> babki lepić :)
Jeśli chodzi o to, co można policzyć na komputerze, to nie ma znaczenia.
> Aby była mowa o skutecznej symulacji jednego procesu przez drugi musi
> być zachowane podobieństwo.
Jakieś tam podobieństwo. Ale jeśli istnieje algorytm do symulowania
umysłu, to istnieje podobieństwo między umysłem a takim algorytmem. A
jeśli istnieje komputer realizujący taki algorytm, to istnieje
podobieństwo między algorytmem a komputerem. Podobieństwo elektronów i
neuronów jest nieistotne - istotne podobieństwo jest w czym innym.
-
79. Data: 2012-06-09 12:50:48
Temat: Re: Czym jest programowanie?
Od: Artur Muszyński <a...@u...wytnijto.com.pl>
W dniu 2012-06-09 06:15, M.M. pisze:
> Upraszczając, chodziło o sieć realizująca taką 'funkcję':
> f(3) = 5
> f(3) = 8
> Gdy raz podam trójkę to sieć ma podać piątkę, a drugi raz ósemkę i ma
> chyba sama odgadnąć o jakie wyjście mi chodzi.
Tak, czy siak, to nie jest zagadnienie odpowiednie dla sieci neuronowej.
> Mnie tak rozpoznawała odciski palców. Odcisk tak mocno zaszumiony że trudno
> było w ogóle odgadnąć że to odcisk. A sieć nie miała problemów. Jednak
> wystarczyło przesunięcie nawet idealnego odciska o 2-3 piksele i skuteczność
> spadała w okolice losowej. Niestety budżet się wyczerpał i nie wiem jakby
> działała gdybym więcej pracy w to włożył.
Dałeś na wejście po prostu bitmapę?
artur
-
80. Data: 2012-06-09 13:03:07
Temat: Re: Czym jest programowanie?
Od: Michoo <m...@v...pl>
On 09.06.2012 06:15, M.M. wrote:
> Michoo<m...@v...pl> napisał(a):
>
>> On 08.06.2012 21:25, M.M. wrote:
>>> Słyszałem ostatnio o studencie który zgłosił się do kogoś po pomoc w
>>> związku z sieciami neuronowymi.
>> [...]
>>> Otóż wykładowca twierdził że sztuczna
>>> sieć neuronowa nie jest funkcją.
>> W przypadku samoorganizujących, albo rekurencyjnych sieci prezentowanie
>> ich jako funkcje może być dość koszmarne[]
> Czy ja wiem czy takie koszmarne? Mam funkcję opisaną na wejściu i
> architekturze. Jeśli sieć ma wewnętrzną pamięć jest trochę trudniej.
> Są dwie funkcje, jedna opisuje wyjście w zależności od
> ( architektury x stanu wewnętrznego x wejścia)
> druga stan następny w zależności:
> ( stanu poprzedniego x wejścia x architektury ). Rzekłbym wygodne a nie
> koszmarne.
Taką reprezentację stosuje się przy obliczeniach, ale IMO słabo z niej
widać czym ta sieć jest, albo co robi - to jest po prostu matematyczne
zapisanie struktury sieci. Technicznie to komputer możemy przedstawić
jako funkcję, ale jest to niezbyt wygodne właściwie w czymkolwiek.
>> Rozumiem, że chodziło o problem klasyfikacji. Możesz padać jakieś
>> bliższe szczegóły? Bo na razie jest to bardzo niejasne - jakie było
>> wejście, jakie wyjście, jaka sieć miała być użyta, etc.
> Upraszczając, chodziło o sieć realizująca taką 'funkcję':
Uproszczony opis to ja zrozumiałem już wcześniej. Chodziło mi o
nieuproszczony, bo może były jakieś niuanse.
> f(3) = 5
> f(3) = 8
> Gdy raz podam trójkę to sieć ma podać piątkę, a drugi raz ósemkę i ma
> chyba sama odgadnąć o jakie wyjście mi chodzi.
>
Dla niektórych sieci możliwa jest sekwencja ...;f(3)=3;...;f(3)=8;....;
>> Jak to z metaheurystykami - nie ma co oczekiwać cudów, ale z drugiej
>> strony to co potrafią zrobić w swojej dziedzinie naprawdę wprawia w
>> zdumienie - w ramach projektu zrobiłem prosty OCR radzący sobie z
>> zeskanowanymi cyframi - sieć mająca zaledwie 13 neuronów warstwy ukrytej
>> rozpoznawała je z ponad 80% dokładnością.
> Mnie tak rozpoznawała odciski palców. Odcisk tak mocno zaszumiony że trudno
> było w ogóle odgadnąć że to odcisk. A sieć nie miała problemów. Jednak
> wystarczyło przesunięcie nawet idealnego odciska o 2-3 piksele i skuteczność
> spadała w okolice losowej.
Prawdopodobnie za dużo neuronów i sieć się wyuczyła na pamięć zamiast
aproksymować albo zły dobór danych uczących.
--
Pozdrawiam
Michoo