eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Podpis cyfrowy większej ilości podmiotów
Ilość wypowiedzi w tym wątku: 101

  • 91. Data: 2013-04-18 22:58:41
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: 3d <d...@...niebie>

    W ciemnym zaułku dnia Thu, 18 Apr 2013 17:36:02 +0200, bartekltg
    <b...@g...com> wymamrotal:
    > Nadal obstawiam, żę wynik będzie dość bliski proporcji
    > przy porównaniu algorytmów dla całych macierzy.
    > (Pewnie masz inny sprzet, wiec x16 z bloga jest neimiarodajne)

    Z innej strony: spodziewam się jednak większego przyspieszenia
    w mandelbrocie że względu na ram w mnozeniu macierzy. Tam
    trzeba wczytac cały tile, sumowac, zapisać a na koniec o ile
    dobrze kojarze połączyć cząstkowe wyniki. W mandelbrocie są
    praktycznie same obliczenia.

    Wcześniej mi umknął argument, że nie zrownoleglili cpu i nie używam
    matlaba prawie wcale więc może masz rację. Taki wpis na blogu.
    Nie wiem gdzie znaleźć faktyczne przepustowości cpu ale gpu
    dzisiaj mają po kilka TFlopow.

    --
    3d


  • 92. Data: 2013-04-18 23:05:57
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: 3d <d...@...niebie>

    W ciemnym zaułku dnia Thu, 18 Apr 2013 04:47:50 -0700 (PDT), firr
    kenobi <p...@g...com> wymamrotal:
    > no spoko, w sumie nawet ciekawe
    > (sam kod avx wlasciwie taki sam
    > jak ta wersja softlab testowana
    > przeze mnie - skad pomysl by to
    > tak rozwinac na 12 pikseli ?
    > 12 pikseli dziala najszybciej ?

    Metodą prób i błędów.

    Gdybym miał dorabiać teorię, w obu algorytmach 12
    było optymalne pewnie przez wysycenie jednostek i
    kolejki. Samo liczenie po 4 wykorzystuje operacje
    ale w asm oprócz przepustowości w cyklach liczy
    się też latency - np 2 operacje na cykl ale wynik jest
    po 3 cyklach. Dlatego liczenie z przeplotem mogło
    dac wynik 2x szybciej.

    --
    3d


  • 93. Data: 2013-04-19 20:54:57
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: "M.M." <m...@g...com>

    On Thursday, April 18, 2013 5:35:15 PM UTC+2, Edek wrote:

    > No bo nie mam zbyt wysokiego mniemania o NN w sensie ogólnym.
    Ach to o to chodziło :) Mnie strasznie wkurza propaganda SSN. Czasami
    można odnieść wrażenie, że naprawdę programista jedzie na wakacje, a w
    tym czasie sieć neuronowa pisze za niego program. W praktyce należy
    spodziewać się że będzie odwrotnie i rozwiązanie na bazie SSN będą
    wymagały większego nakładu pracy, nie wspomniawszy o klastrach
    obliczeniowych do treningu i eksperymentów. Niemniej jestem entuzjastą
    rozwiązań w których sztuczna sieć neuronowa pełni jakąś pomocniczą rolę.


    > Jak to mówią ludzie z front-office, fajnie działają, ale nie da się
    > tego sprzedać, bo to black-box - na pytanie "jak to działa w konkretnym
    > przypadku" można rybkę szczelić.
    Racja, a to zaledwie wierzchołek góry lodowej problemów SSN. Trudno (bardzo
    trudno) na bazie wyuczonej sieci wywnioskować jaki ona w istocie realizuje
    algorytm, kiedy ten algorytm zadziała, a kiedy zawiedzie. Nawet gdy sieć ma
    niezbyt dużo połączeń/wag to trudno jest się uczyć od wyuczonej sieci. Od
    wielu innych metod uczenia maszynowego można się czegoś dowiedzieć niczym
    od nauczyciela.

    A czy fajnie działają? Nie wiem czy tak fajnie... W moich szachach działają
    rewelacyjnie, ale opracowanie i implementacja choćby algorytmy
    przygotowującego dane zajęło mi wiele wiele miesięcy, jeśli nie lat. Jak
    dam tak po prostu dane z gier, czy dane graczy do uczenia, to mam
    powiedzmy 90% szans na całkowicie bezsensowny efekt i jakieś 10% na efekt
    kiepski :) Tak więc rola sieci neuronowej w tej całej zabawie jest
    marginalna, rewelacyjne działanie wynika z tzw "dodatków" które
    okazują się najważniejsze.


    > Dodatkowo NN to artefakt ideologii AI, gdzie mapowanie mózgu przesłania
    > mapowanie umysłu, a tu już się kłania lingwistyka.
    Hmmm nie wiem :) Ja stawiam (wiem że kontrowersyjną) hipotezę, że mózg to
    antena, analogiczna jak oczy, czy uszy.

    > Praktycznie ja najpierw zrobiłem typowe NN, gdzie zrównoleglanie było
    > banalne, a potem zrobiłem coś takiego:
    Typowe, warstwowe, jednoprzebiegowe sieci powinny się zrównoleglać
    prawie liniowo. W przypadku bardziej skomplikowanych sieci, można
    zrównoleglać obliczanie błędu i/albo gradientu.


    > I to już zaczęlo mnie uczyć kombinowania w programowaniu gpu. Naprawdę
    > trzeba się namęczyć.
    Gdy się rozważa siedząc w wygodnym fotelu, to nie wydaje się trudne, ale
    w praktyce... wierzę że jest co tuningować przez długie tygodnie.

    Pozdrawiam


  • 94. Data: 2013-04-19 21:43:15
    Temat: Re: Rozwijanie petli
    Od: firr kenobi <p...@g...com>

    W dniu czwartek, 18 kwietnia 2013 23:05:57 UTC+2 użytkownik 3d napisał:
    > W ciemnym zaułku dnia Thu, 18 Apr 2013 04:47:50 -0700 (PDT), firr
    >
    > kenobi <p...@g...com> wymamrotal:
    >
    > > no spoko, w sumie nawet ciekawe
    >
    > > (sam kod avx wlasciwie taki sam
    >
    > > jak ta wersja softlab testowana
    >
    > > przeze mnie - skad pomysl by to
    >
    > > tak rozwinac na 12 pikseli ?
    >
    > > 12 pikseli dziala najszybciej ?
    >
    >
    >
    > Metodą prób i błędów.
    >
    >
    >
    > Gdybym miał dorabiać teorię, w obu algorytmach 12
    >
    > było optymalne pewnie przez wysycenie jednostek i
    >
    > kolejki. Samo liczenie po 4 wykorzystuje operacje
    >
    > ale w asm oprócz przepustowości w cyklach liczy
    >
    > się też latency - np 2 operacje na cykl ale wynik jest
    >
    > po 3 cyklach. Dlatego liczenie z przeplotem mogło
    >
    > dac wynik 2x szybciej.
    >
    no wlasnie to zdaje sie nie dlatego f1() f2() f1() f2()
    jest szybsze ze bo f1-f2 rozgrzewają sobie kaszę tylko
    dlatego ze f1() f1() f1() f1() blokuje sama siebie
    np z moich pobieznych testów (niezbyt dokladnych
    i moga byc bledy wyszlo ze mov [edx], xmm kosztuje
    bardzo malo mov xmm, [edx] tez malo choc chyba wiecej
    natomiast para mov [edx], xmm mov xmm, [edx] nagle
    kilkukrotnie wiecej, to pewnie jest przypadek gdy
    troughput spada do konfliktów na latency


  • 95. Data: 2013-04-20 09:43:25
    Temat: Re: Rozwijanie petli
    Od: "M.M." <m...@g...com>

    On Friday, April 19, 2013 9:43:15 PM UTC+2, firr kenobi wrote:
    > no wlasnie to zdaje sie nie dlatego f1() f2() f1() f2()
    > jest szybsze ze bo f1-f2 rozgrzewają sobie kaszę tylko
    > dlatego ze f1() f1() f1() f1() blokuje sama siebie
    > np z moich pobieznych testów (niezbyt dokladnych
    > i moga byc bledy wyszlo ze mov [edx], xmm kosztuje
    > bardzo malo mov xmm, [edx] tez malo choc chyba wiecej
    > natomiast para mov [edx], xmm mov xmm, [edx] nagle
    > kilkukrotnie wiecej, to pewnie jest przypadek gdy
    > troughput spada do konfliktów na latency
    Jedna instrukcja asemblera dzielona jest na wiele (w nowych prockach
    chyba na kilkanaście) mikro instrukcji. Jeśli jedna instrukcja
    koliduje z drugą na poziomie tych mikro instrukcji, to procesor
    musi czekać aż się wykonają wszystkie (albo jakaś część)
    mikro-instrukcje - pewnie dłuższy czas wynika z opóźnienia.

    Pozdrawiam


  • 96. Data: 2013-04-21 17:58:27
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Fri, 19 Apr 2013 11:54:57 -0700 po głębokim namyśle M.M. rzekł:

    > On Thursday, April 18, 2013 5:35:15 PM UTC+2, Edek wrote:
    >
    >> No bo nie mam zbyt wysokiego mniemania o NN w sensie ogólnym.
    > Ach to o to chodziło :) Mnie strasznie wkurza propaganda SSN. Czasami
    > można odnieść wrażenie, że naprawdę programista jedzie na wakacje, a w
    > tym czasie sieć neuronowa pisze za niego program. W praktyce należy
    > spodziewać się że będzie odwrotnie i rozwiązanie na bazie SSN będą
    > wymagały większego nakładu pracy, nie wspomniawszy o klastrach
    > obliczeniowych do treningu i eksperymentów. Niemniej jestem entuzjastą
    > rozwiązań w których sztuczna sieć neuronowa pełni jakąś pomocniczą rolę.

    To jest główna idea tych sieci. Po co robić analizę statystyczną czy
    budować wiedzę bayesem jak można zapuścić sieć. I nawet działa w
    przypadku "płynnych dziedzin" typu wsparcie wycofywania kilkuosiowej
    ciężarówki. Ale już przy kwantyfikowanych danych i relacjach minimalizacja
    to nie to co misie lubią najbardziej.

    >> Jak to mówią ludzie z front-office, fajnie działają, ale nie da się
    >> tego sprzedać, bo to black-box - na pytanie "jak to działa w konkretnym
    >> przypadku" można rybkę szczelić.
    > Racja, a to zaledwie wierzchołek góry lodowej problemów SSN. Trudno
    > (bardzo trudno) na bazie wyuczonej sieci wywnioskować jaki ona w istocie
    > realizuje algorytm, kiedy ten algorytm zadziała, a kiedy zawiedzie.
    > Nawet gdy sieć ma niezbyt dużo połączeń/wag to trudno jest się uczyć od
    > wyuczonej sieci. Od wielu innych metod uczenia maszynowego można się
    > czegoś dowiedzieć niczym od nauczyciela.

    Mało wiem o siciach, ale niektórzy właśnie się odgrażali, że najpierw
    zrobią sieć, potem zobaczą co wyjdzie, a na koniec zanalizują i się
    czegoś dowiedzą. Mi to podejście wydaje się atrakcyjne, skoro uczymy
    się od natury, że zwrotne delfiny mają "poszarpane" płetwy i tak
    można zbudować lepszą łódź podwodną, to czemu nie symulować natury,
    żeby nauczyć się rozwiązywać problemy nie występujące w naturze -
    chyba że istnieją misie wycofujące "Long Vehicles" o czym nie wiem ;)

    To trochę naginana teoria z tym modelowaniem przyrody, ale ma jeszcze
    jakiś sens.

    > A czy fajnie działają? Nie wiem czy tak fajnie... W moich szachach
    > działają rewelacyjnie, ale opracowanie i implementacja choćby algorytmy
    > przygotowującego dane zajęło mi wiele wiele miesięcy, jeśli nie lat. Jak
    > dam tak po prostu dane z gier, czy dane graczy do uczenia, to mam
    > powiedzmy 90% szans na całkowicie bezsensowny efekt i jakieś 10% na
    > efekt kiepski :) Tak więc rola sieci neuronowej w tej całej zabawie jest
    > marginalna, rewelacyjne działanie wynika z tzw "dodatków" które okazują
    > się najważniejsze.

    Mało mam praktyki, ale sporo znam teorii. Chociażby wg. modeli
    matematycznych gęstość informacji jest inna w neuronach z funkcją
    ciągłą i nieciągłą. Czyli jak masz back-propagation mnożesz
    minimalizować, ale za pomocą nieciągłych da się przy tej samej liczbie
    połączeń (aksjonów, tak?) uzyskać więcej kwantyfikowanych relacji. I to
    o rzędy wielkości.

    Ja właśnie tak przy okazji uczenia się CUDY coś takiego przetestowałem.

    Powiedzmy: 3 layery 100x100 mają 3e4 linków. Layery 1000x1000 już
    3e6. Wygląda mi to na straszną marnację mocy obliczeniowej i
    przy okazji wcale nie odpowiada naturze. Więc jeżeli takie layery
    mają 2 wymiary, to zrobiłem neurony mające kształ, powiedzmy dla
    layerów 100x100 nauron miałby {x -3:7,y -10:10} - jak kolejny neuron
    jest "w kształcie" połączenie jest. Od razu zrobiło się luźniej.

    Potem: nieliniowość. W zasadzie funkcja była taka: y = x > .5 ? 1 : 0.
    Zrobiłem też więcej layerów - skoro linków mniej, to można je łączyć
    dwa-trzy layery w dół i nie działa prawo klasycznych sieci, że to
    samo da się osiągnąć 3 layerami in-pośredni-out dzięki nieliniowości
    - i uczyłem output layer gradientem, a pozostałe tak: jeżeli wynik jest
    ok to nic się nie zmienia, jeżeli jest błąd to
    link_delta = C * abs(e) * sign(source_firing - 0.5) * sign(target_firing
    - 0.5), gdzie firing jest 0. lub 1. a C < 0. Czyli odwrotność
    pozytywnego wzmocnienia a la Pawłow. A, i bez biasu, więc zawsze musi
    być jakiś input bo inaczej ZIZO - zero in zero out.

    Zrobiłem to tak dla picu, uczyłem się cudy i mało mnie interesowało,
    czy te sieci będą się do czegokolwiek nadawać, ale jak się okazało
    działa: sieć się bardzo fajnie uczyła, z tym że _nigdy_ nie uczyła
    się do końca, zawsze błąd oscylował na niewielkim poziomie, powiedzmy,
    że kilka % przypadków było źle. Testowałem operacje logiczne, a nie
    "płynne" dzidziny. Dlatego o tym wspominam - szachy są skwantyfikowane,
    nawet jeżeli wynik jest "to całkiem całkiem" a inny wynik "to trochę
    lepiej".

    >> Dodatkowo NN to artefakt ideologii AI, gdzie mapowanie mózgu przesłania
    >> mapowanie umysłu, a tu już się kłania lingwistyka.
    > Hmmm nie wiem :) Ja stawiam (wiem że kontrowersyjną) hipotezę, że mózg
    > to antena, analogiczna jak oczy, czy uszy.

    Yyyy... a powiesz co przez to rozumiesz?

    >> Praktycznie ja najpierw zrobiłem typowe NN, gdzie zrównoleglanie było
    >> banalne, a potem zrobiłem coś takiego:
    > Typowe, warstwowe, jednoprzebiegowe sieci powinny się zrównoleglać
    > prawie liniowo. W przypadku bardziej skomplikowanych sieci, można
    > zrównoleglać obliczanie błędu i/albo gradientu.

    Tak, dokładnie, z tym że tak jak napisałem nie liczyłem wcale gradientu.
    A przynajmniej nie jego propagacji.

    >> I to już zaczęlo mnie uczyć kombinowania w programowaniu gpu. Naprawdę
    >> trzeba się namęczyć.
    > Gdy się rozważa siedząc w wygodnym fotelu, to nie wydaje się trudne, ale
    > w praktyce... wierzę że jest co tuningować przez długie tygodnie.

    Ano. Fajnie jest mieć pomysł, ale potem trzeba na parę dni zakasać
    rękawy. Oby na kilku dniach się skończyło...

    --
    Edek


  • 97. Data: 2013-04-21 19:31:23
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Sun, 21 Apr 2013 15:58:27 +0000 po głębokim namyśle Edek rzekł:

    > link_delta = C * abs(e) * sign(source_firing - 0.5) * sign(target_firing
    > - 0.5), gdzie firing jest 0. lub 1. a C < 0. Czyli odwrotność

    Oczywiście walnąłem się w opisie... miało być tak, że dla dowolnego
    layera w przypadku błędu na outpucie te które wypaliły mają mniej
    wypalać, a te które nie wypaliły mogą być potem bardziej wzbudzane.
    To swoją drogą dobrze reguluje ilość aktywnych neuronów.

    --
    Edek


  • 98. Data: 2013-04-22 01:26:20
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: 3d <d...@...niebie>

    W ciemnym zaułku dnia Thu, 18 Apr 2013 05:03:33 -0700 (PDT), firr
    kenobi <p...@g...com> wymamrotal:
    > hehe - spox ale nie dziw
    > sie ze nie chce rozmawiac z osobami proponujacymi rozmaowa na tego
    typu poz=
    > iomie (wiecej meki w brnieciu przez glupote
    > rozmowcy niz pożytku)

    --
    3d


  • 99. Data: 2013-04-23 12:13:42
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: "M.M." <m...@g...com>

    Dnia Fri, 19 Apr 2013 11:54:57 -0700 po g��bokim namy�le M.M. rzek�:

    >> On Thursday, April 18, 2013 5:35:15 PM UTC+2, Edek wrote:
    >>
    >>> No bo nie mam zbyt wysokiego mniemania o NN w sensie og�lnym.
    >> Ach to o to chodzi�o :) Mnie strasznie wkurza propaganda SSN. Czasami
    >> mo�na odnie�� wra�enie, �e naprawd� programista jedzie na wakacje, a w
    >> tym czasie sie� neuronowa pisze za niego program. W praktyce nale�y
    >> spodziewa� si� �e b�dzie odwrotnie i rozwi�zanie na bazie SSN b�d�
    >> wymaga�y wi�kszego nak�adu pracy, nie wspomniawszy o klastrach
    >> obliczeniowych do treningu i eksperyment�w. Niemniej jestem entuzjast�
    >> rozwi�za� w kt�rych sztuczna sie� neuronowa pe�ni jak�� pomocnicz�
    rolďż˝.

    > To jest główna idea tych sieci. Po co robić analizę statystyczną czy
    > budować wiedzę bayesem jak można zapuścić sieć. I nawet działa w
    > przypadku "płynnych dziedzin" typu wsparcie wycofywania kilkuosiowej
    > ciężarówki. Ale już przy kwantyfikowanych danych i relacjach minimalizacja
    > to nie to co misie lubią najbardziej.

    Generalnie miałem problemy z uzyskaniem dobrych wyników przy pomocy SSN jeśli
    sieć na wejście otrzymywała dane bez zaawansowanego przetworzenia. Jeśli
    dane były np. tylko przeskalowane i znormalizowane to w trudniejszych zadaniach
    sieć nie działała. Do tego dochodził drugi problem z doborem zbioru uczącego.
    Gdy po prostu podawałem dane jakie były to też było kiepsko. W szachach
    po pierwsze układ na szachownicy zamieniam na długi wektor rożnych statystyk.
    Dopiero te statystyki są podawane na wejście sieci. Po drugie używam specjalnego
    algorytmu do budowy danych uczących. Jeśli dane sobie wylosuję, albo wezmę z
    jakiś gier dobrych graczy, to jest kicha.

    Przyjąłem więc założenie, że sieć popełni błędy w jakiś sposób "adekwatne"
    do usterek w jej wyuczeniu. Ta adekwatność intuicyjnie wydaje się uzasadniona,
    ale ściśle nie potrafię tego uzasadnić. Więc źle wyuczona sieć popełnia błędy
    adekwatne do swojego złego wyuczenia i do danych uczących dostają się akurat
    takie dane, które powodują, że zbiór uczący jest... chciałoby się rzec
    bardziej reprezentatywny. Jednak też nie chodzi o reprezentatywność. Po prostu
    do danych uczących dostają się dane bardziej odpowiednie do dobrego wyuczenia
    sieci. Cały proces jest zapętlony, czyli zapętlone są trzy etapy: granie,
    uzupełnianie zbioru uczącego i uczenie. Po kilku, maksymalnie kilkunastu
    pętlach sieć osiąga swój szczyt umiejętności, potem wraz z ilością pętli
    umiejętności spadają. Nie znalazłem odpowiedzi na pytanie dlaczego spadają.
    Niemniej to dodatkowo potwierdza to tezę, że nie można użyć dowolnego
    zbioru uczącego - zbiór musi być odpowiedni.

    Jeśli sieć osiąga swoje maksimum po takich kilku - kilkunastu iteracjach, to
    nie pozostaje nic innego, jak najlepsze wyniki zapamiętać, wagi sieci
    zresetować i zacząć następne kilkanaście iteracji. Ostatecznie można wziąć
    najlepszą z najlepszych. Myślę że przykład szachów pokazuje trzy typowe
    problemy jakie napotyka się w praktyce przy sieciach:

    1) przetworzenie danych wejściowych
    2) dobór zbioru uczącego
    3) dobór czasu uczenia

    Do tego dochodzi problem czwarty, czyli dobór architektury sieci - w swoich
    eksperymentach niby dotarłem do tego etapu, ale jak na razie go nie przebrnąłem.
    Na ogół wyniki bardziej rozbudowanych architektur były gorsze, czas uczenia
    tysiące razy dłuższy, nigdy nie było wiadomo czy uczenie nie utknęło w
    płytkim minimum lokalnym, itd. Dobór architektury to bardzo trudna sprawa.

    Uważam że generalnie tak jest w stosowaniu SSN, czyli kupa trudnych
    problemów do rozwiązania.


    >>> Jak to m�wi� ludzie z front-office, fajnie dzia�aj�, ale nie da si�
    >>> tego sprzeda�, bo to black-box - na pytanie "jak to dzia�a w konkretnym
    >>> przypadku" mo�na rybk� szczeli�.
    >> Racja, a to zaledwie wierzcho�ek g�ry lodowej problem�w SSN. Trudno
    >> (bardzo trudno) na bazie wyuczonej sieci wywnioskowaďż˝ jaki ona w istocie
    >> realizuje algorytm, kiedy ten algorytm zadzia�a, a kiedy zawiedzie.
    >> Nawet gdy sie� ma niezbyt du�o po��cze�/wag to trudno jest si� uczy�
    od
    >> wyuczonej sieci. Od wielu innych metod uczenia maszynowego mo�na si�
    >> czegoďż˝ dowiedzieďż˝ niczym od nauczyciela.

    > Mało wiem o siciach, ale niektórzy właśnie się odgrażali, że najpierw
    > zrobić sieć, potem zobaczyć co wyjdzie, a na koniec zanalizują i się
    > czegoś dowiedzą.

    Dużo zależy od tego jaką analizę chcą przeprowadzić. Jakiś czas temu
    miałem dużo bardzo niepewnych danych. Chciałem się dowiedzieć czegoś o
    rozkładach. Napisałem na kolanie aproksymator, a jako funkcji aproksymującej
    użyłem krzywej łamanej. Krzywa łamana ma dużą swobodę w aproksymacji,
    równie dobrze może wyjść totalna sieczka, co jakiś elegancki kształt
    potwierdzający przypuszczenia intuicyjne. Nic nie stoi na przeszkodzie,
    aby sieci neuronowej użyć jako takiego aproksymatora, a potem chociażby
    odrysować przy jej pomocy jakiś wykres i się czegoś nauczyć. Być może
    jest jeszcze kilka innych sprytnych sposobów uczenia się od wytrenowanej
    sieci, ale na podstawie analizy wartości wag i połączeń w dużej sieci to
    bym nie chciał się uczyć od sieci :)


    > Mi to podejście wydaje się atrakcyjne, skoro uczymy
    > się od natury, że zwrotne delfiny mają "poszarpane" płetwy i tak
    > można zbudować lepszą łódź podwodną, to czemu nie symulować natury,
    > żeby nauczyć się rozwiązywać problemy nie występujące w naturze -
    > chyba że istnieją misie wycofujące "Long Vehicles" o czym nie wiem ;)
    Czasami prawidłowy tok rozumowania wygląda właśnie tak przedstawiłeś. Jeśli
    coś w jednym przypadku poskutowało, to i w drugim poskutuje, zwłaszcza gdy w
    drugim dokonamy jakiś modyfikacji. W naturze poskutokowały siły
    napędzające ewolujcę w dziedzinie optymalizacji organizmów żywych. Więc jak
    poskutkowały w optymalizacji ogranizmów żywych, to atrkacyjne wydaje się
    zaprzęgnięcie ich do optymalizacji czegoś innego. Jednak rodzi się szereg
    pytań:
    1) Jakie siły napędzają ewolujcę? Na pewno nie napędza jej przypadek. Atom
    węgla nie zmienia się przypadkowo w atom nieznanego pierwiastka, a
    grawitacja nie zienia się losowo w antygrawitację, ani nawet nie
    zmienia się jej siła co losowy czas o losową wartość - to samo
    ma się z pozostalymi prawami fizycznymi i z właściwościami związków
    chemicznych.
    2) Czy optymalizacja algorytmu wycofywania ciężarówki jest w ogóle
    możliwa przy pomocy sił podobnych do tych które napędzaly ewolucję?
    Łódź podwodna porusza się świetnie pod wodą, ale po drodze szybkiego
    ruchu nie pojedzie, nawet po istotnych modyfikacjach. Nie wiemy jaka
    jest natura sił optymalizujących ogranizmy żywe, więc nie wiemy
    jakie mają pole zastosowań i po jakich modyfikacjach.
    3) Czy ogranizmy żywe w ogóle były optymalizowane? Może materia ma
    taką cechę, że jak się potrzasa odpowiednimy substancjami chmicznymi
    w odpowiednich warunkach, to powstaje życie.

    Ja stawiam 50 dolców na wersję trzecią.


    > To trochę naginana teoria z tym modelowaniem przyrody, ale ma jeszcze
    > jakiś sens.
    Ma sens i generalnie podoba mi się, ale do póki siły ewolucyjne do
    komputera wkładamy "na chama" to uzyskamy podobnej skuteczności jak w
    optymalizacji oka ćmy. Przypadek oznacza brut-force, a to nawet na
    zadaniu u małym rozmiarze zarżnie komputer molekularny zwany kosmosem.
    Naturalne algorytmy ewolucyjne są bardzo wyrafinowane, a z powodu
    samego chaotycznego mieszania się substancji chemicznych, nie mamy
    prawa stawiać przypadku u ich podstaw.



    >> A czy fajnie dzia�aj�? Nie wiem czy tak fajnie... W moich szachach
    >> dzia�aj� rewelacyjnie, ale opracowanie i implementacja cho�by algorytmy
    >> przygotowuj�cego dane zaj�o mi wiele wiele miesi�cy, je�li nie lat. Jak
    >> dam tak po prostu dane z gier, czy dane graczy do uczenia, to mam
    >> powiedzmy 90% szans na ca�kowicie bezsensowny efekt i jakie� 10% na
    >> efekt kiepski :) Tak wi�c rola sieci neuronowej w tej ca�ej zabawie jest
    >> marginalna, rewelacyjne dzia�anie wynika z tzw "dodatk�w" kt�re okazuj�
    >> si� najwa�niejsze.

    > Mało mam praktyki, ale sporo znam teorii. Chociażby wg. modeli
    > matematycznych gęstość informacji jest inna w neuronach z funkcją
    > ciągłą i nieciągłą. Czyli jak masz back-propagation mnożesz
    > minimalizować, ale za pomocą nieciągłych da się przy tej samej liczbie
    > połączeń (aksjonów, tak?) uzyskać więcej kwantyfikowanych relacji. I to
    > o rzędy wielkości.
    Czy ja wiem... funkcję skokową można dowolnie dobrze aproksymować
    funkcją ciągłą - ale to teoria. Ja w praktyce napotykam na zupełnie
    inne problemy niż opisywane w literaturze. Np. teraz stanąłem przed
    zadaniem wyuczenia sieci (własciwie to dowolnego aprosymatora, niekoniecznie
    sieci) na danych nie zawierających wyjścia :) Mam dane wejściowe, a nie mam
    danych wyjściowych, nikt nawet nie umie oszacować jakie są wyjścia dla
    danych wejściowych. I co począć? Jak mam wyuczyć sieć poprawnego wyjścia? :)


    > Ja właśnie tak przy okazji uczenia się CUDY coś takiego przetestowałem.
    Nom bo to fajne zadanie na cudę.


    > Powiedzmy: 3 layery 100x100 mają 3e4 linków. Layery 1000x1000 już
    > 3e6. Wygląda mi to na straszną marnację mocy obliczeniowej i
    > przy okazji wcale nie odpowiada naturze. Więc jeżeli takie layery
    > mają 2 wymiary, to zrobiłem neurony mające kształt, powiedzmy dla
    > layerów 100x100 nauron miałby {x -3:7,y -10:10} - jak kolejny neuron
    > jest "w kształcie" połączenie jest. Od razu zrobiło się luźniej.
    Nie kumam.


    > Potem: nieliniowość. W zasadzie funkcja była taka: y = x > .5 ? 1 : 0.
    > Zrobiłem też więcej layerów - skoro linków mniej, to można je łączyć
    > dwa-trzy layery w dół i nie działa prawo klasycznych sieci, że to
    > samo da się osiągnąć 3 layerami in-pośredni-out dzięki nieliniowości
    > - i uczyłem output layer gradientem, a pozostałe tak: jeżeli wynik jest
    > ok to nic się nie zmienia, jeżeli jest błąd to
    > link_delta = C * abs(e) * sign(source_firing - 0.5) * sign(target_firing
    > - 0.5), gdzie firing jest 0. lub 1. a C < 0. Czyli odwrotność
    > pozytywnego wzmocnienia a la Pawłow. A, i bez biasu, więc zawsze musi
    > być jakiś input bo inaczej ZIZO - zero in zero out.
    Rozumiem ledwo ledwo, coś jakby sieć tokenowa.


    > Zrobiłem to tak dla picu, uczyłem się cudy i mało mnie interesowało,
    > czy te sieci będą się do czegokolwiek nadawaďż˝, ale jak się okazało
    > działa: sieć się bardzo fajnie uczyła, z tym że _nigdy_ nie uczyła
    > się do końca, zawsze błąd oscylował na niewielkim poziomie, powiedzmy,
    > że kilka % przypadków było źle. Testowałem operacje logiczne, a nie
    > "płynne" dzidziny. Dlatego o tym wspominam - szachy są skwantyfikowane,
    > nawet jeżeli wynik jest "to całkiem całkiem" a inny wynik "to trochę˝
    > lepiej".
    Gdzieś mam (zabawowy) projekt sieci neuronowej do rozpoznawania liczb
    pierwszych :) Ciekawe ile trzeba nieuronów/wag do prawidłowego rozpoznawania
    wszystkich liczb pierszych nie większych niż N :D


    >>> Dodatkowo NN to artefakt ideologii AI, gdzie mapowanie m�zgu przes�ania
    >>> mapowanie umys�u, a tu ju� si� k�ania lingwistyka.
    >> Hmmm nie wiem :) Ja stawiam (wiem �e kontrowersyjn�) hipotez�, �e m�zg
    >> to antena, analogiczna jak oczy, czy uszy.

    >Yyyy... a powiesz co przez to rozumiesz?
    Czasami lubię wymyślać dziwne tezy, abym potem był zmuszony do ich bronienia :D

    Gdy badacz obserwuje drzewo rosnące przed nim, to aby je zbadać, zajmuje
    się drzewem, a w żadnym razie nie wydłubuje sobie oczu i nie zagląda do ich
    środka :) Gdy badacz słyszy dźwięk upadającego kamienia i chce się o nim
    czegoś dowiedzieć, to zajmuje się kamieniem, a nie swoimi uszami. Podobnie
    jest z bodźcami węchowymi, dotykowymi, smakowymi. A gdy badać ma zajmować
    się wspomnieniami, wyobrażeniami, skojarzeniami, snami, przemyśleniami, to
    nagle ma się włamywać do wnętrza neuronów, a nie szukać źródła gdzieś na
    zewnątrz. Podejrzany brak konsekwencji :D

    Po drugie jak to możliwe żeby w 1-2kg materii dało się zbudować tak
    niezwykły komputer? Mało tego, jak da się zakodować w tak małej
    ilości informacji genetycznej wzór na powstawanie mózgu? Jeśli jest
    to niemożliwe, to inteligencja jest gdzieś poza neuronami.


    Pozdrawiam


  • 100. Data: 2013-04-23 20:54:36
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: Edek <e...@g...com>

    Dnia Tue, 23 Apr 2013 03:13:42 -0700 po głębokim namyśle M.M. rzekł:

    > Przyjąłem więc założenie, że sieć popełni błędy w jakiś sposób
    > "adekwatne" do usterek w jej wyuczeniu. Ta adekwatność intuicyjnie
    > wydaje się uzasadniona,
    > ale ściśle nie potrafię tego uzasadnić.

    Zostawiłem cytując tylko ten fragment, bo pięknie oddaje "naturę"
    sieci :)

    > Uważam że generalnie tak jest w stosowaniu SSN, czyli kupa trudnych
    > problemów do rozwiązania.

    W uczenie algorytmów trzeba zawsze włożyć sporo pracy. Mi się tylko
    nie podoba zbytnio skutek: no, ta sieć wyszła lepiej od innych
    (ale "dlaczego" to mam blade pojęcie i kilka hipotez...).

    > Dużo zależy od tego jaką analizę chcą przeprowadzić. Jakiś czas temu
    > miałem dużo bardzo niepewnych danych. Chciałem się dowiedzieć czegoś o
    > rozkładach. Napisałem na kolanie aproksymator, a jako funkcji
    > aproksymującej użyłem krzywej łamanej. Krzywa łamana ma dużą swobodę w
    > aproksymacji,
    > równie dobrze może wyjść totalna sieczka, co jakiś elegancki kształt
    > potwierdzający przypuszczenia intuicyjne. Nic nie stoi na przeszkodzie,
    > aby sieci neuronowej użyć jako takiego aproksymatora, a potem chociażby
    > odrysować przy jej pomocy jakiś wykres i się czegoś nauczyć. Być może
    > jest jeszcze kilka innych sprytnych sposobów uczenia się od wytrenowanej
    > sieci, ale na podstawie analizy wartości wag i połączeń w dużej sieci to
    > bym nie chciał się uczyć od sieci :)

    Do minimalizacji, tu różnicy pomiędzy funkcją modelowaną a modelem
    (niegdy nie pamiętam tego słowa... ;), nadają się bardzo dobrze.

    > Ja stawiam 50 dolców na wersję trzecią.

    Ja czasami też stawiam na wersję nr 3.

    > Czy ja wiem... funkcję skokową można dowolnie dobrze aproksymować
    > funkcją ciągłą - ale to teoria. Ja w praktyce napotykam na zupełnie inne
    > problemy niż opisywane w literaturze. Np. teraz stanąłem przed zadaniem
    > wyuczenia sieci (własciwie to dowolnego aprosymatora, niekoniecznie
    > sieci) na danych nie zawierających wyjścia :) Mam dane wejściowe, a nie
    > mam danych wyjściowych, nikt nawet nie umie oszacować jakie są wyjścia
    > dla danych wejściowych. I co począć? Jak mam wyuczyć sieć poprawnego
    > wyjścia? :)

    Czy aby, jeżeli to jest możliwe, czyżby jednak, jeżeli dobrze się
    domyślam, masz na myśli klasyfikację i Kohonena? Poza tym widzę, że
    wybraliśmy inną literaturę. Naprawdę sieci z funkcją ciągłą dobrze
    minimalizują ale mają mniejszą gęstość entropii (w luźnym tłumaczeniu).

    >> Powiedzmy: 3 layery 100x100 mają 3e4 linków. Layery 1000x1000 już 3e6.
    >> Wygląda mi to na straszną marnację mocy obliczeniowej i przy okazji
    >> wcale nie odpowiada naturze. Więc jeżeli takie layery mają 2 wymiary,
    >> to zrobiłem neurony mające kształt, powiedzmy dla layerów 100x100
    >> nauron miałby {x -3:7,y -10:10} - jak kolejny neuron jest "w kształcie"
    >> połączenie jest. Od razu zrobiło się luźniej.
    > Nie kumam.

    No nie łączy się każdy neuron z każdym neuronem następnego layera,
    tylko do tych w pobliżu. Gdy jest każdy z każdym jest strasznie dużo
    linków do przemielenia - po co. No i stosunek liczby linków do liczby
    neuronów bardzo szybko rośnie wraz z wymiarami layerów gdy jest "każdy z
    każdym" w klasycznej sieci z layerami 2d.

    No i implementacja takiej banalnej sieci to nie uczenie się cudy.

    > Gdzieś mam (zabawowy) projekt sieci neuronowej do rozpoznawania liczb
    > pierwszych :) Ciekawe ile trzeba nieuronów/wag do prawidłowego
    > rozpoznawania wszystkich liczb pierszych nie większych niż N :D

    Spytaj Bartka ;)

    >>>> Dodatkowo NN to artefakt ideologii AI, gdzie mapowanie m�zgu
    >>>> przes�ania mapowanie umys�u, a tu ju� si� k�ania
    >>>> lingwistyka.
    >>> Hmmm nie wiem :) Ja stawiam (wiem �e kontrowersyjn�) hipotez�,
    >>> �e m�zg to antena, analogiczna jak oczy, czy uszy.
    >
    >>Yyyy... a powiesz co przez to rozumiesz?
    > Czasami lubię wymyślać dziwne tezy, abym potem był zmuszony do ich
    > bronienia :D
    >
    > Gdy badacz obserwuje drzewo rosnące przed nim, to aby je zbadać, zajmuje
    > się drzewem, a w żadnym razie nie wydłubuje sobie oczu i nie zagląda do
    > ich środka :) Gdy badacz słyszy dźwięk upadającego kamienia i chce się o
    > nim czegoś dowiedzieć, to zajmuje się kamieniem, a nie swoimi uszami.
    > Podobnie jest z bodźcami węchowymi, dotykowymi, smakowymi. A gdy badać
    > ma zajmować się wspomnieniami, wyobrażeniami, skojarzeniami, snami,
    > przemyśleniami, to nagle ma się włamywać do wnętrza neuronów, a nie
    > szukać źródła gdzieś na zewnątrz. Podejrzany brak konsekwencji :D
    >
    > Po drugie jak to możliwe żeby w 1-2kg materii dało się zbudować tak
    > niezwykły komputer? Mało tego, jak da się zakodować w tak małej ilości
    > informacji genetycznej wzór na powstawanie mózgu? Jeśli jest to
    > niemożliwe, to inteligencja jest gdzieś poza neuronami.

    Inteligencja jest w kulturze i języku. My się pod względem sporej
    części genów i struktury mózgu nie różnimy - ok, powiedzmy że mam
    na myśli samego siebie tak dla bezpieczeństwa dyskusji ;) - od
    ludzi, którzy po raz pierwszy powiedzieli "Małpa kamień won!".
    W lingwistyce w zasadzie wszystkie podstawowe struktury myślenia
    abstrakcyjnego są rozwinięte na gruncie przestrzeni i obiektów - stąd
    też w I klasie podstawówki uczymy się o podmiocie i orzeczeniu,
    czyli "kamieniu łupanym". Od czasu ludzi pierwotnych rozwinęła się
    bardziej wiedza i kultura niż nasze mózgi. Mamy też dłuższe życie
    i lepsze zdrowie - więcej czasu na rozwijanie szachów i picie kawy ;)

    --
    Edek

strony : 1 ... 9 . [ 10 ] . 11


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: