eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzym jest programowanie?
Ilość wypowiedzi w tym wątku: 266

  • 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

strony : 1 ... 7 . [ 8 ] . 9 ... 20 ... 27


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: