eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOdczyt ciśnienia - analiza obrazu
Ilość wypowiedzi w tym wątku: 33

  • 21. Data: 2020-11-16 10:03:51
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: Maciek Godek <g...@g...com>

    niedziela, 15 listopada 2020 o 06:56:10 UTC+1 M.M. napisał(a):

    > Ja też się długo (może z 20 lat) zastanawiałem dlaczego dobrze wytresowany
    > pies działający w oparciu o biologiczną sieci neuronową, 1000 razy na 1000 przynosi

    > treserowi ręcznik, gdy treser o ręcznik go prosi. Podobnie dziecko dobrze
    > nauczone tabliczki mnożenia 1000 razy na 1000 dobrze poda wynik.

    Podejrzewam, że po prostu mało rzetelnie przeprowadzałeś pomiary.
    [Tak naprawdę to podejrzewam, że wcale ich nie przeprowadzałeś]


  • 22. Data: 2020-11-16 13:29:37
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Monday, November 16, 2020 at 10:03:53 AM UTC+1, Maciek Godek wrote:
    > niedziela, 15 listopada 2020 o 06:56:10 UTC+1 M.M. napisał(a):
    >
    > > Ja też się długo (może z 20 lat) zastanawiałem dlaczego dobrze wytresowany
    > > pies działający w oparciu o biologiczną sieci neuronową, 1000 razy na 1000
    przynosi
    > > treserowi ręcznik, gdy treser o ręcznik go prosi. Podobnie dziecko dobrze
    > > nauczone tabliczki mnożenia 1000 razy na 1000 dobrze poda wynik.
    > Podejrzewam, że po prostu mało rzetelnie przeprowadzałeś pomiary.
    > [Tak naprawdę to podejrzewam, że wcale ich nie przeprowadzałeś]

    Pomiary czego? Odpowiedzi z tabliczki mnożenia? Po co mi pomiary, przecież to
    przykład bardziej ogólnego zjawiska które jest oczywiste. Czy może pomiary
    skuteczności sztucznych sieci neuronowych według mojego pomysłu? Tutaj ta
    cecha o której mówiłem też jest oczywista, nawet jakbym nie robił zupełnie
    żadnych pomiarów - ale minimalne testy zrobiłem.

    Zdrowy, sprawny i wykwalifikowany człowiek niektóre zadania wykonuje wielokrotnie
    bezbłędnie i to przez długie lata, i to nie tylko takie łatwe jak tabliczka mnożenia.
    Kierowca podejmuje decyzje wiele razy na minutę, a może nawet na sekundę. Niektórzy,
    co lepsi kierowcy chwalą się wieloletnią bezwypadkową jazdą. Natomiast sztuczna
    sieć neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy może
    dawać błędne odpowiedzi na zbiorze testowym i zwykle specjalnie przerywa się
    naukę na etapie gdy sieć jeszcze daje błędy na zbiorze uczącym, aby minimalizować
    ilość błędnych odpowiedzi na zbiorze testowym.

    Pozdrawiam








  • 23. Data: 2020-11-16 19:23:59
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: Maciek Godek <g...@g...com>

    poniedziałek, 16 listopada 2020 o 13:29:38 UTC+1 M.M. napisał(a):

    > > > Ja też się długo (może z 20 lat) zastanawiałem dlaczego dobrze wytresowany
    > > > pies działający w oparciu o biologiczną sieci neuronową, 1000 razy na 1000
    przynosi
    > > > treserowi ręcznik, gdy treser o ręcznik go prosi. Podobnie dziecko dobrze
    > > > nauczone tabliczki mnożenia 1000 razy na 1000 dobrze poda wynik.
    > > Podejrzewam, że po prostu mało rzetelnie przeprowadzałeś pomiary.
    > > [Tak naprawdę to podejrzewam, że wcale ich nie przeprowadzałeś]
    > Pomiary czego? Odpowiedzi z tabliczki mnożenia?

    Tak. I przynoszenia ręcznika przez psa.

    > Po co mi pomiary, przecież to
    > przykład bardziej ogólnego zjawiska które jest oczywiste.

    Jakiego bardziej ogólnego zjawiska?
    I co jest w nim oczywiste?

    > Zdrowy, sprawny i wykwalifikowany człowiek niektóre zadania wykonuje wielokrotnie
    > bezbłędnie i to przez długie lata, i to nie tylko takie łatwe jak tabliczka
    mnożenia.
    > Kierowca podejmuje decyzje wiele razy na minutę, a może nawet na sekundę.

    I popełniają błędy.

    > Niektórzy, co lepsi kierowcy chwalą się wieloletnią bezwypadkową jazdą.

    To, że ludzie się czymś chwalą, raczej wynika z ludzkiej niedoskonałości, niż z
    ludzkiej doskonałości.

    W każdym razie rynek ubezpieczeń nie ma powodów do narzekań.


  • 24. Data: 2020-11-18 21:44:47
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Monday, November 16, 2020 at 7:24:01 PM UTC+1, Maciek Godek wrote:
    > poniedziałek, 16 listopada 2020 o 13:29:38 UTC+1 M.M. napisał(a):
    >
    > > > > Ja też się długo (może z 20 lat) zastanawiałem dlaczego dobrze wytresowany
    > > > > pies działający w oparciu o biologiczną sieci neuronową, 1000 razy na 1000
    przynosi
    > > > > treserowi ręcznik, gdy treser o ręcznik go prosi. Podobnie dziecko dobrze
    > > > > nauczone tabliczki mnożenia 1000 razy na 1000 dobrze poda wynik.
    > > > Podejrzewam, że po prostu mało rzetelnie przeprowadzałeś pomiary.
    > > > [Tak naprawdę to podejrzewam, że wcale ich nie przeprowadzałeś]
    > > Pomiary czego? Odpowiedzi z tabliczki mnożenia?
    > Tak. I przynoszenia ręcznika przez psa.

    Z notatnikiem w ręku nie robiłem pomiarów, ale wychodząc z
    Twojego założenia o ludzkiej omylności, nie ma sensu robić takich
    pomiarów, bo bym się pomylił w notowaniu ;-)

    Kilkoro dzieci uczyłem tabliczki mnożenia, alfabetu i jak się dobrze
    nauczyły to nie popełniały błędów. Podobnie jak w recytowaniu wiersza z
    pamięci - o ile im się chciało i o ile dobrze się nauczyły to powtarzały bez
    pomyłek. Kiedyś amatorsko tresowałem kota, łapał i aportował zabawkę
    bezbłędnie.

    Ale powyższy akapit ma się nijak do tego o czym pisałem i nie
    chce mi się sprawdzać, kiedy dziecko myli się raz na 5 recytacji
    wiersza, a kiedy raz na 1000 recytacji. Interesuje mnie fakt, że
    DZIECKO UCZĄC SIĘ DOKŁADNIE (np. tabliczki mnożenia do 10) NIE
    ZATRACA ZDOLNOŚCI GENERALIZACJI W ZAKRESIE DO 20. Nie muszę
    dziecka uczyć tylko 70% przykładów, bo w wieku dorosłym będzie
    miało z mnożeniem w słupku - to było oczywiste. Tymczasem, sztuczna sieć
    neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy, ucząc się
    dokładnie na zbiorze uczącym, zazwyczaj udziela gorszych odpowiedzi na zbiorze
    testowym. Sztuczne sieci neuronowe zbudowane w oparciu o moją architekturę
    mają z tym mniej problemów - tak, chwalę się, jestem dalece niedoskonały ;-)


    > > Po co mi pomiary, przecież to
    > > przykład bardziej ogólnego zjawiska które jest oczywiste.
    > Jakiego bardziej ogólnego zjawiska?
    > I co jest w nim oczywiste?

    To co napisałem wielkimi literami w powyższym akapicie.


    > > Zdrowy, sprawny i wykwalifikowany człowiek niektóre zadania wykonuje wielokrotnie

    > > bezbłędnie i to przez długie lata, i to nie tylko takie łatwe jak tabliczka
    mnożenia.
    > > Kierowca podejmuje decyzje wiele razy na minutę, a może nawet na sekundę.
    > I popełniają błędy.

    Tak, to wszystko ciekawe kwestie, ale odbiegają od tego co chciałem
    napisać.


    > > Niektórzy, co lepsi kierowcy chwalą się wieloletnią bezwypadkową jazdą.
    > To, że ludzie się czymś chwalą, raczej wynika z ludzkiej niedoskonałości, niż z
    ludzkiej doskonałości.

    Kolejny temat rzeka.


    > W każdym razie rynek ubezpieczeń nie ma powodów do narzekań.

    Zgoda. Ale mam nadzieję że już jest jasne co mialem na myśli.


    Pozdrawiam




    Pozdrawiam


  • 25. Data: 2020-11-18 23:10:44
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: Maciek Godek <g...@g...com>

    środa, 18 listopada 2020 o 21:44:48 UTC+1 M.M. napisał(a):

    > Z notatnikiem w ręku nie robiłem pomiarów, ale wychodząc z
    > Twojego założenia o ludzkiej omylności, nie ma sensu robić takich
    > pomiarów, bo bym się pomylił w notowaniu ;-)

    To błędny wniosek.
    Można dokonywać eksperymentów pomimo tego, że się popełnia błędy.

    > Kilkoro dzieci uczyłem tabliczki mnożenia, alfabetu i jak się dobrze
    > nauczyły to nie popełniały błędów.

    Nie popełniały błędów na zbiorze trenującym, czy na zbiorze testowym?

    > Podobnie jak w recytowaniu wiersza z
    > pamięci - o ile im się chciało i o ile dobrze się nauczyły to powtarzały bez
    > pomyłek.

    Sieć neuronowa, o ile "dobrze się nauczy", też będzie powtarzała bez pomyłek.
    Owe 95% (czy ile tam) skuteczności nie dotyczy powtarzania.
    Wytrenowana sieć dla tych samych danych wejściowych w 100% razy zwróci te same dane
    wyjściowe.
    (w każdym razie dotyczy to sieci bezinercyjnych, takich jak perceptrony)

    > Kiedyś amatorsko tresowałem kota, łapał i aportował zabawkę
    > bezbłędnie.

    W jaki sposób mierzyłeś błąd? I na ilu próbach?

    > Ale powyższy akapit ma się nijak do tego o czym pisałem i nie
    > chce mi się sprawdzać, kiedy dziecko myli się raz na 5 recytacji
    > wiersza, a kiedy raz na 1000 recytacji. Interesuje mnie fakt, że
    > DZIECKO UCZĄC SIĘ DOKŁADNIE (np. tabliczki mnożenia do 10) NIE
    > ZATRACA ZDOLNOŚCI GENERALIZACJI W ZAKRESIE DO 20.

    OK, to tutaj już jest bardziej konkretna hipoteza (której chyba nadal nie rozumiem).
    Czyli twierdzisz, że jeżeli dziecko nauczy się na pamięć, ile to jest 6 * 7, to
    będzie również bez problemu w stanie powiedzieć, ile to jest 13*17?

    > Nie muszę
    > dziecka uczyć tylko 70% przykładów, bo w wieku dorosłym będzie
    > miało z mnożeniem w słupku - to było oczywiste. Tymczasem, sztuczna sieć
    > neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy, ucząc się
    > dokładnie na zbiorze uczącym, zazwyczaj udziela gorszych odpowiedzi na zbiorze
    > testowym. Sztuczne sieci neuronowe zbudowane w oparciu o moją architekturę
    > mają z tym mniej problemów - tak, chwalę się, jestem dalece niedoskonały ;-)

    Ja czasem mam tak, że jak sobie w jesienne wieczory idę przez miasto, to niektóre
    worki na śmieci wypełnione liśćmi mój mózg rozpoznaje jako psy.
    Serio, jestem na jakimś poziomie całkowicie przekonany, że na ulicy leży pies.
    Dopiero jak się wytężę, uświadamiam sobie, że to tylko worek na śmieci.
    Czasem jeżeli nawet kilka dni z rzędu idę przez to samo miejsce, i leży ten sam
    worek, to niezawodnie rozpoznaję w nim dużego śpiącego bernardyna.

    Na dużych zbiorach danych popełnianie błędów jest niemożliwe do uniknięcia.

    > > > Po co mi pomiary, przecież to
    > > > przykład bardziej ogólnego zjawiska które jest oczywiste.
    > > Jakiego bardziej ogólnego zjawiska?
    > > I co jest w nim oczywiste?
    > To co napisałem wielkimi literami w powyższym akapicie.
    > > > Zdrowy, sprawny i wykwalifikowany człowiek niektóre zadania wykonuje
    wielokrotnie
    > > > bezbłędnie i to przez długie lata, i to nie tylko takie łatwe jak tabliczka
    mnożenia.
    > > > Kierowca podejmuje decyzje wiele razy na minutę, a może nawet na sekundę.
    > > I popełniają błędy.
    > Tak, to wszystko ciekawe kwestie, ale odbiegają od tego co chciałem
    > napisać.
    > > > Niektórzy, co lepsi kierowcy chwalą się wieloletnią bezwypadkową jazdą.
    > > To, że ludzie się czymś chwalą, raczej wynika z ludzkiej niedoskonałości, niż z
    ludzkiej doskonałości.
    > Kolejny temat rzeka.
    > > W każdym razie rynek ubezpieczeń nie ma powodów do narzekań.
    > Zgoda. Ale mam nadzieję że już jest jasne co mialem na myśli.

    No właśnie nie jest :)


  • 26. Data: 2020-11-19 13:30:24
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Wednesday, November 18, 2020 at 11:10:46 PM UTC+1, Maciek Godek wrote:
    > środa, 18 listopada 2020 o 21:44:48 UTC+1 M.M. napisał(a):
    >
    > > Z notatnikiem w ręku nie robiłem pomiarów, ale wychodząc z
    > > Twojego założenia o ludzkiej omylności, nie ma sensu robić takich
    > > pomiarów, bo bym się pomylił w notowaniu ;-)
    > To błędny wniosek.

    Żartowałem :)

    > Można dokonywać eksperymentów pomimo tego, że się popełnia błędy.

    Oczywiście.


    > > Kilkoro dzieci uczyłem tabliczki mnożenia, alfabetu i jak się dobrze
    > > nauczyły to nie popełniały błędów.
    > Nie popełniały błędów na zbiorze trenującym, czy na zbiorze testowym?

    W ogóle nie myślałem o podziale na zbiór uczący i testowy gdy przytaczałem
    ten przykład.


    > > Podobnie jak w recytowaniu wiersza z
    > > pamięci - o ile im się chciało i o ile dobrze się nauczyły to powtarzały bez
    > > pomyłek.
    > Sieć neuronowa, o ile "dobrze się nauczy", też będzie powtarzała bez pomyłek.

    Oczywiście, jeśli sztuczną siec neuronową, opartą o klasyczny perceptron
    wielowarstwowy,
    wyuczymy z dokładnością 100% na danym zbiorze, to będzie dawała poprawne
    odpowiedzi z prawdopodobieństwem 100% na tym zbiorze.

    > Owe 95% (czy ile tam) skuteczności nie dotyczy powtarzania.

    Nie rozumiem.


    > Wytrenowana sieć dla tych samych danych wejściowych w 100% razy zwróci te same dane
    wyjściowe.
    > (w każdym razie dotyczy to sieci bezinercyjnych, takich jak perceptrony)

    Oczywiście.


    > > Kiedyś amatorsko tresowałem kota, łapał i aportował zabawkę
    > > bezbłędnie.
    > W jaki sposób mierzyłeś błąd? I na ilu próbach?

    Na potrzeby tego o czym pisałem nie ma potrzeby użycia naukowej,
    udokumentowanej metody, tym bardziej że jest to tylko analogia.
    Dziecko po opanowaniu całego materiału może udzielać bardzo
    dokładnych, precyzyjnych odpowiedzi i ta umiejętność nie musi
    dziecku niekorzystnie wpłynąć na zdolności generalizowania, abstrahowania.
    Sztuczne sieci neuronowe zwykle uczy się tylko do pewnego momentu, aby
    nie doszło do przeuczenia. Zwykle lepiej jest gdy sztuczne sieci
    neuronowe nie udzielają precyzyjnych odpowiedzi na zbiorze uczącym.


    > > Ale powyższy akapit ma się nijak do tego o czym pisałem i nie
    > > chce mi się sprawdzać, kiedy dziecko myli się raz na 5 recytacji
    > > wiersza, a kiedy raz na 1000 recytacji. Interesuje mnie fakt, że
    > > DZIECKO UCZĄC SIĘ DOKŁADNIE (np. tabliczki mnożenia do 10) NIE
    > > ZATRACA ZDOLNOŚCI GENERALIZACJI W ZAKRESIE DO 20.
    > OK, to tutaj już jest bardziej konkretna hipoteza

    Przepraszam że poprzednio napisałem zbyt skrótowo.

    > (której chyba nadal nie rozumiem).


    > Czyli twierdzisz, że jeżeli dziecko nauczy się na pamięć, ile to jest 6 * 7, to
    będzie
    > również bez problemu w stanie powiedzieć, ile to jest 13*17?

    Nadal nie to chciałem powiedzieć, ale już jesteśmy bliżej sedna. Dziecko może
    uczyć się tabliczki mnożenia na pamięć. Nie jest ważne czy to dobra metoda nauki, czy

    zła - to po prostu przykład działania biologicznego mózgu w akcji. Dziecko
    otrzymuje jeden przykład uczący do nauki, drugi, kolejny. W zależności od tego jakie
    to
    dziecko i czego uczyło się wcześniej, może znaleźć regułę mnożenia po pamięciowym
    opanowaniu mniejszej ilości przykładów, większej, albo w ogóle. Dziecku po
    prostu dajemy przykłady do nauki. W przypadku sztucznych sieci neuronowych jest
    inaczej. Przed przystąpieniem do uczenia sztucznej sieci, zbiór danych
    dzielimy na zbiór uczący i zbiór testowy. Zbiór testowy jest w pewnym sensie
    marnowany, ponieważ nie jest przeprowadzana na nim nauka. Niemniej jednak
    zbiór testowy jest konieczny, aby móc kontrolować jakość działania sztucznej
    sieci neuronowej na przykładach które nie były podawane w trakcie nauki.
    Zwykle w trakcie nauki mamy do czynienia ze zjawiskiem przeuczenia, czyli
    im sieć daje więcej poprawnych odpowiedzi na zbiorze uczącym, tym mniej na
    zbiorze testowym. Zwykle należy przerwać trening sieci w momencie gdy na zbiorze
    testowym jest najwięcej poprawnych odpowiedzi. Widać tutaj oczywistą i
    sporą wadę w porównaniu z nauką dzieci. Nawet na zbiorze uczącym sieć nie
    daje 100% poprawnych odpowiedzi! Minimalnie wypaczając analogię, to tak jakby
    uczyć dziecko tylko do momentu gdy udzieli 80% poprawnych odpowiedzi z
    tabliczki mnożenia. W sztucznych sieciach neuronowych na bazie 'mojej
    autorskiej' struktury danych ten problem nie jest aż tak drastyczny - choć
    niestety nadal może się pojawiać. Moje sieci mogą dawać 100% poprawnych i
    bardzo precyzyjnych odpowiedzi na dostępnych danych, bez obawy, że znacznie
    spadnie skuteczność na danych, których nie było w trakcie uczenia. Problem
    przeuczenia w moich sieciach nie jest aż tak dużym problemem.

    > > Nie muszę
    > > dziecka uczyć tylko 70% przykładów, bo w wieku dorosłym będzie
    > > miało z mnożeniem w słupku - to było oczywiste. Tymczasem, sztuczna sieć
    > > neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy, ucząc się
    > > dokładnie na zbiorze uczącym, zazwyczaj udziela gorszych odpowiedzi na zbiorze
    > > testowym. Sztuczne sieci neuronowe zbudowane w oparciu o moją architekturę
    > > mają z tym mniej problemów - tak, chwalę się, jestem dalece niedoskonały ;-)

    > Ja czasem mam tak, że jak sobie w jesienne wieczory idę przez miasto, to
    > niektóre worki na śmieci wypełnione liśćmi mój mózg rozpoznaje jako psy.
    > Serio, jestem na jakimś poziomie całkowicie przekonany, że na ulicy leży pies.
    > Dopiero jak się wytężę, uświadamiam sobie, że to tylko worek na śmieci.
    > Czasem jeżeli nawet kilka dni z rzędu idę przez to samo miejsce, i leży ten
    > sam worek, to niezawodnie rozpoznaję w nim dużego śpiącego bernardyna.

    Od czasu gdy mój wzrok uległ znacznemu pogorszeniu, bardzo często mam podobne
    problemy, aż dziwne, że z takimi zakłóceniami jestem w stanie cokolwiek
    rozpoznać. Ale to też odbiega od tematu rozmowy. Raczej chciałem
    tutaj powiedzieć, że sieci zbudowane w oparciu o moją architekturę nie
    powtarzają błędów, bo można je wyuczyć na maksa na danych rozszerzonych o
    przypadki w których pojawiły się błędne odpowiedzi, a problem przeuczenia
    nie występuje tak łatwo jak w przypadku sieci zbudowanych w oparciu o
    klasyczny (nie)liniowy perceptron wielowarstwowy.

    > Na dużych zbiorach danych popełnianie błędów jest niemożliwe do uniknięcia.

    Jeśli jakąś przestrzeń mamy gęsto pokrytą danymi (czyli mamy dużo danych i
    równomiernie rozłożonych po tej przestrzeni) to jest możliwe wyuczenie sieci
    która da blisko 100% poprawnych odpowiedzi na zbiorze uczącymi i
    testowym.


    > > > > Po co mi pomiary, przecież to
    > > > > przykład bardziej ogólnego zjawiska które jest oczywiste.
    > > > Jakiego bardziej ogólnego zjawiska?
    > > > I co jest w nim oczywiste?
    > > To co napisałem wielkimi literami w powyższym akapicie.
    > > > > Zdrowy, sprawny i wykwalifikowany człowiek niektóre zadania wykonuje
    wielokrotnie
    > > > > bezbłędnie i to przez długie lata, i to nie tylko takie łatwe jak tabliczka
    mnożenia.
    > > > > Kierowca podejmuje decyzje wiele razy na minutę, a może nawet na sekundę.
    > > > I popełniają błędy.
    > > Tak, to wszystko ciekawe kwestie, ale odbiegają od tego co chciałem
    > > napisać.
    > > > > Niektórzy, co lepsi kierowcy chwalą się wieloletnią bezwypadkową jazdą.
    > > > To, że ludzie się czymś chwalą, raczej wynika z ludzkiej niedoskonałości, niż z
    ludzkiej doskonałości.
    > > Kolejny temat rzeka.
    > > > W każdym razie rynek ubezpieczeń nie ma powodów do narzekań.
    > > Zgoda. Ale mam nadzieję że już jest jasne co mialem na myśli.
    > No właśnie nie jest :)

    Ok, spróbowałem jeszcze raz to opisać. Podsumowanie jest proste. Moje
    sieci można uczyć na maksa, więc nie powtórzą błędu, a dlatego że trudniej
    ulegają przeuczeniu, jest mniejsze prawdopodobieństwo że po takim wyuczeniu
    na maksa dadzą całkowicie błędną odpowiedź na danych spoza zbioru
    uczącego - np. gdy mucha wleci przed obiektyw kamery robota.

    Pozdrawiam



  • 27. Data: 2020-11-20 17:02:27
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: Maciek Godek <g...@g...com>

    czwartek, 19 listopada 2020 o 13:30:25 UTC+1 M.M. napisał(a):
    > On Wednesday, November 18, 2020 at 11:10:46 PM UTC+1, Maciek Godek wrote:
    > > środa, 18 listopada 2020 o 21:44:48 UTC+1 M.M. napisał(a):
    > >
    > > > Z notatnikiem w ręku nie robiłem pomiarów, ale wychodząc z
    > > > Twojego założenia o ludzkiej omylności, nie ma sensu robić takich
    > > > pomiarów, bo bym się pomylił w notowaniu ;-)
    > > To błędny wniosek.
    > Żartowałem :)

    Ryzykant ;]

    > > Można dokonywać eksperymentów pomimo tego, że się popełnia błędy.
    > Oczywiście.
    > > > Kilkoro dzieci uczyłem tabliczki mnożenia, alfabetu i jak się dobrze
    > > > nauczyły to nie popełniały błędów.
    > > Nie popełniały błędów na zbiorze trenującym, czy na zbiorze testowym?
    > W ogóle nie myślałem o podziale na zbiór uczący i testowy gdy przytaczałem
    > ten przykład.

    No to nic dziwnego, że masz niewspółmierne wyniki.

    > > > Podobnie jak w recytowaniu wiersza z
    > > > pamięci - o ile im się chciało i o ile dobrze się nauczyły to powtarzały bez
    > > > pomyłek.
    > > Sieć neuronowa, o ile "dobrze się nauczy", też będzie powtarzała bez pomyłek.
    > Oczywiście, jeśli sztuczną siec neuronową, opartą o klasyczny perceptron
    wielowarstwowy,
    > wyuczymy z dokładnością 100% na danym zbiorze, to będzie dawała poprawne
    > odpowiedzi z prawdopodobieństwem 100% na tym zbiorze.
    > > Owe 95% (czy ile tam) skuteczności nie dotyczy powtarzania.
    > Nie rozumiem.

    Zdanie niżej masz wyjaśnienie, na które odpowiedziałeś "oczywiście"

    > > Wytrenowana sieć dla tych samych danych wejściowych w 100% razy zwróci te same
    dane wyjściowe.
    > > (w każdym razie dotyczy to sieci bezinercyjnych, takich jak perceptrony)
    > Oczywiście.

    O.

    > > > Kiedyś amatorsko tresowałem kota, łapał i aportował zabawkę
    > > > bezbłędnie.
    > > W jaki sposób mierzyłeś błąd? I na ilu próbach?
    > Na potrzeby tego o czym pisałem nie ma potrzeby użycia naukowej,
    > udokumentowanej metody, tym bardziej że jest to tylko analogia.

    Albo używamy pomiarów, albo stosujemy analogie.
    Mówienie o procentach skuteczności sugeruje pomiar.

    > Dziecko po opanowaniu całego materiału może udzielać bardzo
    > dokładnych, precyzyjnych odpowiedzi i ta umiejętność nie musi
    > dziecku niekorzystnie wpłynąć na zdolności generalizowania, abstrahowania.
    > Sztuczne sieci neuronowe zwykle uczy się tylko do pewnego momentu, aby
    > nie doszło do przeuczenia. Zwykle lepiej jest gdy sztuczne sieci
    > neuronowe nie udzielają precyzyjnych odpowiedzi na zbiorze uczącym.
    > > > Ale powyższy akapit ma się nijak do tego o czym pisałem i nie
    > > > chce mi się sprawdzać, kiedy dziecko myli się raz na 5 recytacji
    > > > wiersza, a kiedy raz na 1000 recytacji. Interesuje mnie fakt, że
    > > > DZIECKO UCZĄC SIĘ DOKŁADNIE (np. tabliczki mnożenia do 10) NIE
    > > > ZATRACA ZDOLNOŚCI GENERALIZACJI W ZAKRESIE DO 20.
    > > OK, to tutaj już jest bardziej konkretna hipoteza
    > Przepraszam że poprzednio napisałem zbyt skrótowo.
    > > (której chyba nadal nie rozumiem).
    >
    >
    > > Czyli twierdzisz, że jeżeli dziecko nauczy się na pamięć, ile to jest 6 * 7, to
    będzie
    > > również bez problemu w stanie powiedzieć, ile to jest 13*17?
    > Nadal nie to chciałem powiedzieć, ale już jesteśmy bliżej sedna. Dziecko może
    > uczyć się tabliczki mnożenia na pamięć. Nie jest ważne czy to dobra metoda nauki,
    czy
    > zła - to po prostu przykład działania biologicznego mózgu w akcji. Dziecko
    > otrzymuje jeden przykład uczący do nauki, drugi, kolejny. W zależności od tego
    jakie to
    > dziecko i czego uczyło się wcześniej, może znaleźć regułę mnożenia po pamięciowym
    > opanowaniu mniejszej ilości przykładów, większej, albo w ogóle. Dziecku po
    > prostu dajemy przykłady do nauki. W przypadku sztucznych sieci neuronowych jest
    > inaczej. Przed przystąpieniem do uczenia sztucznej sieci, zbiór danych
    > dzielimy na zbiór uczący i zbiór testowy. Zbiór testowy jest w pewnym sensie
    > marnowany, ponieważ nie jest przeprowadzana na nim nauka. Niemniej jednak
    > zbiór testowy jest konieczny, aby móc kontrolować jakość działania sztucznej
    > sieci neuronowej na przykładach które nie były podawane w trakcie nauki.

    W przypadku nauki dzieci też masz zbiory trenujące i zbiory testowe.
    Przynajmniej tak jest w przypadku nauki matematyki.
    Masz przykłady i masz zadania sprawdzające.
    Doświadczenia nauczycieli raczej podpowiedzą, że na zadaniach sprawdzających rzadko
    masz 100% skuteczności.

    Przykład z tabliczką mnożenia jest o tyle niefortunny, że to jest dokładnie coś,
    czego uczysz się na pamięć.
    Taki jest zamysł. To jest cache, który ma później usprawniać obliczenia.

    Dziecko, które ma "dane w cache'u", może nie mieć algorytmu do mnożenia, i dlatego ze
    znajomości tabliczki mnożenia nie można wyciągnąć wniosku o tym, czy dziecko umie
    mnożyć liczby powyżej 10.

    > Zwykle w trakcie nauki mamy do czynienia ze zjawiskiem przeuczenia, czyli
    > im sieć daje więcej poprawnych odpowiedzi na zbiorze uczącym, tym mniej na
    > zbiorze testowym. Zwykle należy przerwać trening sieci w momencie gdy na zbiorze
    > testowym jest najwięcej poprawnych odpowiedzi. Widać tutaj oczywistą i
    > sporą wadę w porównaniu z nauką dzieci. Nawet na zbiorze uczącym sieć nie
    > daje 100% poprawnych odpowiedzi! Minimalnie wypaczając analogię, to tak jakby
    > uczyć dziecko tylko do momentu gdy udzieli 80% poprawnych odpowiedzi z
    > tabliczki mnożenia. W sztucznych sieciach neuronowych na bazie 'mojej
    > autorskiej' struktury danych ten problem nie jest aż tak drastyczny - choć
    > niestety nadal może się pojawiać. Moje sieci mogą dawać 100% poprawnych i
    > bardzo precyzyjnych odpowiedzi na dostępnych danych, bez obawy, że znacznie
    > spadnie skuteczność na danych, których nie było w trakcie uczenia. Problem
    > przeuczenia w moich sieciach nie jest aż tak dużym problemem.

    Nie możesz "nie mieć obaw o skuteczność na danych, których nie było w trakcie
    uczenia".
    Bo jeżeli nie było, to skąd sieć ma wiedzieć, jakie tam mają być wartości?

    Nie może tego wiedzieć.

    Przetrenowanie i błędna generalizacja u ludzi może wystąpić w takim samym stopniu,
    jak u sieci neuronowych.

    Ja pamiętam, jak kiedyś chyba w przedszkolu byłem oburzony, bo mieliśmy odróżnić
    obrazek z sałatą od obrazka z kapustą. I to na domiar złego była taka włoska kapusta,
    z odstającymi liśćmi. Tak że wyglądała dla mnie nierozróżnialnie od sałaty (tym
    bardziej, że w moim spekrtum doświadczeń nie było ani kapusty, ani sałaty)

    Jak masz bardzo duży zbiór danych, to zawsze znajdzie się tam kot, który wygląda jak
    pies, albo ser, który wygląda jak skrzynka na listy.
    Albo cyferka 3, która wygląda jak 5 albo 8. I jeżeli oznaczenie danych mówi, że ta
    cyferka to jest 3, ale sieć widzi, że jednak wygląda bardziej jak 8, to nie można
    mieć do niej pretensji, że "się myli".

    > > > Nie muszę
    > > > dziecka uczyć tylko 70% przykładów, bo w wieku dorosłym będzie
    > > > miało z mnożeniem w słupku - to było oczywiste. Tymczasem, sztuczna sieć
    > > > neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy, ucząc się
    > > > dokładnie na zbiorze uczącym, zazwyczaj udziela gorszych odpowiedzi na zbiorze
    > > > testowym. Sztuczne sieci neuronowe zbudowane w oparciu o moją architekturę
    > > > mają z tym mniej problemów - tak, chwalę się, jestem dalece niedoskonały ;-)
    >
    > > Ja czasem mam tak, że jak sobie w jesienne wieczory idę przez miasto, to
    > > niektóre worki na śmieci wypełnione liśćmi mój mózg rozpoznaje jako psy.
    > > Serio, jestem na jakimś poziomie całkowicie przekonany, że na ulicy leży pies.
    > > Dopiero jak się wytężę, uświadamiam sobie, że to tylko worek na śmieci.
    > > Czasem jeżeli nawet kilka dni z rzędu idę przez to samo miejsce, i leży ten
    > > sam worek, to niezawodnie rozpoznaję w nim dużego śpiącego bernardyna.
    > Od czasu gdy mój wzrok uległ znacznemu pogorszeniu, bardzo często mam podobne
    > problemy, aż dziwne, że z takimi zakłóceniami jestem w stanie cokolwiek
    > rozpoznać. Ale to też odbiega od tematu rozmowy.

    Właśnie chodzi o to, że nie odbiega.
    Że pokazuje zjawiska, które można obserwować w działaniu sieci neuronowych na
    spektrum naszych doświadczeń.

    > Raczej chciałem
    > tutaj powiedzieć, że sieci zbudowane w oparciu o moją architekturę nie
    > powtarzają błędów, bo można je wyuczyć na maksa na danych rozszerzonych o
    > przypadki w których pojawiły się błędne odpowiedzi, a problem przeuczenia
    > nie występuje tak łatwo jak w przypadku sieci zbudowanych w oparciu o
    > klasyczny (nie)liniowy perceptron wielowarstwowy.

    To może kluczowe pytanie jest takie, z jakich zbiorów danych korzystałeś, żeby dojść
    do tych wniosków.

    > > Na dużych zbiorach danych popełnianie błędów jest niemożliwe do uniknięcia.
    > Jeśli jakąś przestrzeń mamy gęsto pokrytą danymi (czyli mamy dużo danych i
    > równomiernie rozłożonych po tej przestrzeni) to jest możliwe wyuczenie sieci
    > która da blisko 100% poprawnych odpowiedzi na zbiorze uczącymi i
    > testowym.

    To zależy od zbioru uczącego i testowego.
    Ale tak, zazwyczaj (pewnie) jest możliwe. Nawet owo anegdotyczne 95% to jest całkiem
    "blisko 100%".


  • 28. Data: 2020-11-20 23:38:24
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Friday, November 20, 2020 at 5:02:29 PM UTC+1, Maciek Godek wrote:
    > czwartek, 19 listopada 2020 o 13:30:25 UTC+1 M.M. napisał(a):
    > > On Wednesday, November 18, 2020 at 11:10:46 PM UTC+1, Maciek Godek wrote:
    > > > środa, 18 listopada 2020 o 21:44:48 UTC+1 M.M. napisał(a):
    > > >
    > > > > Z notatnikiem w ręku nie robiłem pomiarów, ale wychodząc z
    > > > > Twojego założenia o ludzkiej omylności, nie ma sensu robić takich
    > > > > pomiarów, bo bym się pomylił w notowaniu ;-)
    > > > To błędny wniosek.
    > > Żartowałem :)
    > Ryzykant ;]
    > > > Można dokonywać eksperymentów pomimo tego, że się popełnia błędy.
    > > Oczywiście.
    > > > > Kilkoro dzieci uczyłem tabliczki mnożenia, alfabetu i jak się dobrze
    > > > > nauczyły to nie popełniały błędów.
    > > > Nie popełniały błędów na zbiorze trenującym, czy na zbiorze testowym?
    > > W ogóle nie myślałem o podziale na zbiór uczący i testowy gdy przytaczałem
    > > ten przykład.
    > No to nic dziwnego, że masz niewspółmierne wyniki.

    Obojętnie jakie mam wyniki, tutaj raczej chodzi o zasadniczą różnicę pomiędzy
    uczeniem się ludzi (dzieci), a sztucznymi sieciami neuronowymi opartymi o klasyczny
    perceptron wielowarstwowy.

    Dziecko uczymy np. tabliczki mnożenia, podajemy przykłady i mamy pewne
    prawdopodobieństwo, że dziecko odkryje regułę na mnożenie dowolnych liczb.
    Im więcej dziecku podamy przykładów, tym większa szansa na to że odkryje
    regułę. Podobnie jest z naukowcem, im więcej ma danych tym ma większą szansę, że
    odkryje regułę rządzącą badanym przez niego zjawiskiem. Naukowiec nie musi
    przed sobą ukrywać połowy danych z badań. Gdy naukowiec proponuje jakąś regułę, to
    ona powinna się sprawdzać na wszystkich dostępnych danych i jest duże
    prawdopodobieństwo, że
    się sprawdzi na danych, którymi naukowiec nie dysponował w trakcie badań.

    Oczywiście, sztuczną sieć neuronową też możemy wyuczyć dokładnie na wszystkich
    dostępnych danych, bez dzielenia na zbiór uczący i testowy. Wtedy sztuczna sieć,
    podobnie jak reguła naukowca, będzie się sprawdzała na wszystkich dostępnych danych.
    Problem jednak w tym, że reguła zaproponowana przez sztuczną sieć neuronową będzie
    sporadycznie dawała poprawne odpowiedzi na danych których sieć nie dostała w trakcie
    uczenia. To się nazywa, jak zapewne wiesz, przeuczenie sztucznej sieci neuronowej.
    Dlatego w przypadku sztucznej sieci neuronowej lepiej podzielić dane uczące na zbiór
    testowy i uczący, i uczyć do momentu, gdy ilość poprawnych odpowiedzi na zbiorze
    testowym jest maksymalna. Z tego wynikają wady sztucznych sieci neuronowych:
    - tworzą regułę na mniejszej ilości danych niż ilość dostępnych,
    - nawet na zbiorze uczącym z pewnym prawdopodobieństwem udzielają błędnych
    odpowiedzi.

    Moje sieci, jak już pisałem, po wyuczeniu na maksa mają mniej objawów przeuczenia.


    > > > > Podobnie jak w recytowaniu wiersza z
    > > > > pamięci - o ile im się chciało i o ile dobrze się nauczyły to powtarzały bez
    > > > > pomyłek.
    > > > Sieć neuronowa, o ile "dobrze się nauczy", też będzie powtarzała bez pomyłek.
    > > Oczywiście, jeśli sztuczną siec neuronową, opartą o klasyczny perceptron
    wielowarstwowy,
    > > wyuczymy z dokładnością 100% na danym zbiorze, to będzie dawała poprawne
    > > odpowiedzi z prawdopodobieństwem 100% na tym zbiorze.
    > > > Owe 95% (czy ile tam) skuteczności nie dotyczy powtarzania.
    > > Nie rozumiem.
    > Zdanie niżej masz wyjaśnienie, na które odpowiedziałeś "oczywiście"
    > > > Wytrenowana sieć dla tych samych danych wejściowych w 100% razy zwróci te same
    dane wyjściowe.
    > > > (w każdym razie dotyczy to sieci bezinercyjnych, takich jak perceptrony)
    > > Oczywiście.
    > O.
    > > > > Kiedyś amatorsko tresowałem kota, łapał i aportował zabawkę
    > > > > bezbłędnie.
    > > > W jaki sposób mierzyłeś błąd? I na ilu próbach?
    > > Na potrzeby tego o czym pisałem nie ma potrzeby użycia naukowej,
    > > udokumentowanej metody, tym bardziej że jest to tylko analogia.
    > Albo używamy pomiarów, albo stosujemy analogie.
    > Mówienie o procentach skuteczności sugeruje pomiar.

    Może wysłowiłem się w mylący sposób - przepraszam.


    > > Dziecko po opanowaniu całego materiału może udzielać bardzo
    > > dokładnych, precyzyjnych odpowiedzi i ta umiejętność nie musi
    > > dziecku niekorzystnie wpłynąć na zdolności generalizowania, abstrahowania.
    > > Sztuczne sieci neuronowe zwykle uczy się tylko do pewnego momentu, aby
    > > nie doszło do przeuczenia. Zwykle lepiej jest gdy sztuczne sieci
    > > neuronowe nie udzielają precyzyjnych odpowiedzi na zbiorze uczącym.
    > > > > Ale powyższy akapit ma się nijak do tego o czym pisałem i nie
    > > > > chce mi się sprawdzać, kiedy dziecko myli się raz na 5 recytacji
    > > > > wiersza, a kiedy raz na 1000 recytacji. Interesuje mnie fakt, że
    > > > > DZIECKO UCZĄC SIĘ DOKŁADNIE (np. tabliczki mnożenia do 10) NIE
    > > > > ZATRACA ZDOLNOŚCI GENERALIZACJI W ZAKRESIE DO 20.
    > > > OK, to tutaj już jest bardziej konkretna hipoteza
    > > Przepraszam że poprzednio napisałem zbyt skrótowo.
    > > > (której chyba nadal nie rozumiem).
    > >
    > >
    > > > Czyli twierdzisz, że jeżeli dziecko nauczy się na pamięć, ile to jest 6 * 7, to
    będzie
    > > > również bez problemu w stanie powiedzieć, ile to jest 13*17?
    > > Nadal nie to chciałem powiedzieć, ale już jesteśmy bliżej sedna. Dziecko może
    > > uczyć się tabliczki mnożenia na pamięć. Nie jest ważne czy to dobra metoda nauki,
    czy
    > > zła - to po prostu przykład działania biologicznego mózgu w akcji. Dziecko
    > > otrzymuje jeden przykład uczący do nauki, drugi, kolejny. W zależności od tego
    jakie to
    > > dziecko i czego uczyło się wcześniej, może znaleźć regułę mnożenia po pamięciowym

    > > opanowaniu mniejszej ilości przykładów, większej, albo w ogóle. Dziecku po
    > > prostu dajemy przykłady do nauki. W przypadku sztucznych sieci neuronowych jest
    > > inaczej. Przed przystąpieniem do uczenia sztucznej sieci, zbiór danych
    > > dzielimy na zbiór uczący i zbiór testowy. Zbiór testowy jest w pewnym sensie
    > > marnowany, ponieważ nie jest przeprowadzana na nim nauka. Niemniej jednak
    > > zbiór testowy jest konieczny, aby móc kontrolować jakość działania sztucznej
    > > sieci neuronowej na przykładach które nie były podawane w trakcie nauki.
    > W przypadku nauki dzieci też masz zbiory trenujące i zbiory testowe.

    Oczywiście że można, a zazwyczaj wręcz trzeba testować zdobytą wiedzę/umiejętności
    przez ludzi! Nie chciałem powiedzieć że ludzie tylko uczą się na przykładach, aż
    odkrywają regułę i potem nie muszą weryfikować swojej wiedzy.

    Raczej chciałem powiedzieć, że jedną z metod nauki jest taka metoda, w której
    nauczyciel podaje jeden przykład i sposób rozwiązania tego przykładu, potem drugi,
    trzeci, w końcu n-ty i dzieci kolejne przykłady rozwiązują samodzielnie. Raczej
    chciałem powiedzieć, że nauczyciel nie ukrywa połowy materiałów edukacyjnych, w
    obawie że dzieci się przeuczą.

    Upraszczając, w przypadku nauki dzieci są tak jakby dwa zbiory danych: jeden uczący,
    potem testowy np. na egzaminie. W przypadku sztucznej sieci neuronowej (nadal
    upraszczając) są trzy zbiory: zbiór uczący, zbiór testowy i potem dane napływające
    do sieci w trakcie jej działania. Dostępne dane są marnotrawione, bo sieć nie uczy
    się na danych testowych, aby się nie przetrenowała. Moje sztuczne sieci, ze
    względu na specyficzną architekturę (choć to nadal jest perceptron wielowarstwowy) są

    mniej wrażliwe na przetrenowanie, więc można uczyć na maksa, a sieć na starych
    danych nie poda błędnej odpowiedzi.


    > Przynajmniej tak jest w przypadku nauki matematyki.
    > Masz przykłady i masz zadania sprawdzające.
    > Doświadczenia nauczycieli raczej podpowiedzą, że na zadaniach sprawdzających rzadko
    masz 100% skuteczności.


    Oczywiście, nie chciałem powiedzieć że PO ETAPIE nauki nie sprawdza
    się na kolejnych danych umiejętności uczniów czy hipotezy naukowca.
    Chciałęm powiedzieć ze NA ETAPIE nauki ani naukowiec, ani uczeń nie
    ukrywają przed sobą połowy dostępnych wyników badań czy połowy
    materiałów edukacyjnych. Tymczasem w przypadku sztucznych sieci
    neuronowych już NA ETAPIE nauki ukrywamy jakąś część danych przed
    siecią i zwykle nie uczymy aż sieć pod 100% poprawnych odpowiedzi
    na danych. Uczeń powinien się uczyć aż opanuje 100% dostępnych
    materiałów, a naukowiec powinien pracować nad hipotezą aż pokryje
    ona wszystkie materiały z badań. To co będzie po etapie nauki, czy
    uczeń zda egzamin, czy hipoteza naukowca przetrwa próbę czasu i
    zyska status wiedzy - stanowią kolejną kwestię.


    > Przykład z tabliczką mnożenia jest o tyle niefortunny, że to jest dokładnie coś,
    czego uczysz się na pamięć.
    > Taki jest zamysł. To jest cache, który ma później usprawniać obliczenia.

    Owszem, przedstawiłem to myląco. Chyba nigdy nie prowadziłem rozmowy na ten temat i
    nie zdawałem sobie sprawy jak można zrozumieć takie przedstawienie problemu. Ale
    faktycznie, tabliczka mnożenia to jest cache, a po etapie nauki uczeń jest
    testowany np. na egzaminie. Więc pisanie że uczeń nie jest testowany było
    mylące. Raczej chodzi o to, że uczeń nie ukrywa przed sobą części materiałów
    edukacyjnych w obawie że się przeuczy - no chyba że ze zmęczenia; ale dobrze
    zaprojektowany układ elektroniczny, pracujący w dobrych warunkach, odpowiednio
    zasilany... praktycznie nie ulega żadnym awariom przez tysiące lat, więc pod tym
    względem w ogóle porównanie ludzi i komputerów elektronicznych nie ma sensu.


    > Dziecko, które ma "dane w cache'u", może nie mieć algorytmu do mnożenia, i dlatego
    > ze znajomości tabliczki mnożenia nie można wyciągnąć wniosku o tym, czy dziecko
    umie
    > mnożyć liczby powyżej 10.

    Owszem, ale nie o to chodziło.



    > > Zwykle w trakcie nauki mamy do czynienia ze zjawiskiem przeuczenia, czyli
    > > im sieć daje więcej poprawnych odpowiedzi na zbiorze uczącym, tym mniej na
    > > zbiorze testowym. Zwykle należy przerwać trening sieci w momencie gdy na zbiorze
    > > testowym jest najwięcej poprawnych odpowiedzi. Widać tutaj oczywistą i
    > > sporą wadę w porównaniu z nauką dzieci. Nawet na zbiorze uczącym sieć nie
    > > daje 100% poprawnych odpowiedzi! Minimalnie wypaczając analogię, to tak jakby
    > > uczyć dziecko tylko do momentu gdy udzieli 80% poprawnych odpowiedzi z
    > > tabliczki mnożenia. W sztucznych sieciach neuronowych na bazie 'mojej
    > > autorskiej' struktury danych ten problem nie jest aż tak drastyczny - choć
    > > niestety nadal może się pojawiać. Moje sieci mogą dawać 100% poprawnych i
    > > bardzo precyzyjnych odpowiedzi na dostępnych danych, bez obawy, że znacznie
    > > spadnie skuteczność na danych, których nie było w trakcie uczenia. Problem
    > > przeuczenia w moich sieciach nie jest aż tak dużym problemem.

    > Nie możesz "nie mieć obaw o skuteczność na danych, których nie było w trakcie
    uczenia".
    > Bo jeżeli nie było, to skąd sieć ma wiedzieć, jakie tam mają być wartości?
    >
    > Nie może tego wiedzieć.

    Całkowicie obaw oczywiście nie mogę się pozbyć, ale mam zdecydowanie mniejsze obawy
    że
    moja wyuczona sieć neuronowa na maksa (czyli przeuczona) zachowa się lepiej niż
    klasyczny
    perceptron.


    > Przetrenowanie i błędna generalizacja u ludzi może wystąpić w takim samym stopniu,
    jak u sieci neuronowych.

    Czy w takim samym stopniu to inna sprawa, ale na pewno masz rację, że zarówno w
    przypadku ludzi jak i
    sztucznych sieci neuronowych jest ryzyko błędnej generalizacji. I tutaj sztuczne
    sieci na bazie
    mojej architektury nie wprowadzają zupełnie żadnego przełomu. Moje tylko po
    przeuczeniu nie są
    tak bardzo (tak często) przeuczone jak sieci na bazie klasycznego perceptronu
    wielowarstwowego.


    >
    > Ja pamiętam, jak kiedyś chyba w przedszkolu byłem oburzony, bo mieliśmy odróżnić
    obrazek z sałatą od
    > obrazka z kapustą. I to na domiar złego była taka włoska kapusta, z odstającymi
    liśćmi. Tak że
    > wyglądała dla mnie nierozróżnialnie od sałaty (tym bardziej, że w moim spekrtum
    doświadczeń nie
    > było ani kapusty, ani sałaty)

    Hmmm, kolejny ciekawy przykład na temat działania biologicznych sieci neuronowych i
    kolejne
    źródło wartościowych inspiracji. Ale niestety do tego konkretnego i wąskiego tematu
    nie klei
    mi się w ogóle, może czegoś nie rozumiem?


    > Jak masz bardzo duży zbiór danych, to zawsze znajdzie się tam kot, który wygląda
    jak pies, albo
    > ser, który wygląda jak skrzynka na listy. Albo cyferka 3, która wygląda jak 5 albo
    8. I jeżeli
    > oznaczenie danych mówi, że ta cyferka to jest 3, ale sieć widzi, że jednak wygląda
    bardziej jak 8,
    > to nie można mieć do niej pretensji, że "się myli".

    Oczywiście, ale temat błędnych danych to kolejna kwestia. Jeśli w danych uczących
    cyfra 8
    jest z prawdopodobieństwem p oznaczona jako 8 i z prawdopodobieństwem 1-p jako
    nie-osiem, to
    (precyzyjna) sieć neuronowa, gdy otrzyma na wejście 8 powinna właśnie dać odpowiedź
    p, a
    nie 1. Jeśli dane pochodzą np. z ręcznie pisanych cyfr, jeśli zbiór danych jest
    reprezentatywny, a cyfra 8 jest mylona z inną cyfrą z prawdopodobieństwem 1-p, to
    trakcie
    działania cyfra 8 jest mylona z inną cyfrą z tym samym prawdopodobieństwem, więc
    lepszą
    odpowiedzią sieci jest odpowiedź p, niż 1. Jakie dane, taką hipotezę postawi sieć i
    naukowiec.
    Jeśli cyfra 8 w danych jest klasyfikowana z prawdopodobieństwem 99% jako cyfra 3, to
    każda
    szanująca się metoda uczenia maszynowego powinna też ją sklasyfikować jako cyfrę 3.
    Antidotum na błędne dane jest duży i losowy zbiór uczący, który asymptotycznie będzie

    dążył do zbioru reprezentatywnego, a nie cudowna metoda uczenia maszynowego która
    poprawi BŁĘDY STATYSTYCZNE w danych.

    W pewnym przybliżeniu, sztuczna sieć neuronowa w programie szachowym na wejście też
    dostaje tylko informacje o tym, że z danej pozycji było N rozgrywek, białe wygrały X
    razy,
    czarne Y, a pozostałe partie były remisowe. To, że dane są nieprecyzyjne albo
    nawet błędne, nie oznacza, iż oczekujemy od sieci lepszej odpowiedzi niż dane.
    Jeśli program szachowy napotyka pozycję z której wygrywał z prawdopodobieństwem 80%,
    to
    sieć niech podaje odpowiedź dla tej pozycji 80%, a nie 100%, nawet jeśli pozycja jest
    wygrana w 100%. Chodzi o to, aby nie podawała 70%, ani 90%, tylko właśnie precyzyjnie

    80%, bo tyle wynika z danych.



    > > > > Nie muszę
    > > > > dziecka uczyć tylko 70% przykładów, bo w wieku dorosłym będzie
    > > > > miało z mnożeniem w słupku - to było oczywiste. Tymczasem, sztuczna sieć
    > > > > neuronowa zbudowana w oparciu o klasyczny perceptron wielowarstwowy, ucząc
    się
    > > > > dokładnie na zbiorze uczącym, zazwyczaj udziela gorszych odpowiedzi na
    zbiorze
    > > > > testowym. Sztuczne sieci neuronowe zbudowane w oparciu o moją architekturę
    > > > > mają z tym mniej problemów - tak, chwalę się, jestem dalece niedoskonały ;-)
    > >
    > > > Ja czasem mam tak, że jak sobie w jesienne wieczory idę przez miasto, to
    > > > niektóre worki na śmieci wypełnione liśćmi mój mózg rozpoznaje jako psy.
    > > > Serio, jestem na jakimś poziomie całkowicie przekonany, że na ulicy leży pies.
    > > > Dopiero jak się wytężę, uświadamiam sobie, że to tylko worek na śmieci.
    > > > Czasem jeżeli nawet kilka dni z rzędu idę przez to samo miejsce, i leży ten
    > > > sam worek, to niezawodnie rozpoznaję w nim dużego śpiącego bernardyna.
    > > Od czasu gdy mój wzrok uległ znacznemu pogorszeniu, bardzo często mam podobne
    > > problemy, aż dziwne, że z takimi zakłóceniami jestem w stanie cokolwiek
    > > rozpoznać. Ale to też odbiega od tematu rozmowy.
    > Właśnie chodzi o to, że nie odbiega.
    > Że pokazuje zjawiska, które można obserwować w działaniu sieci neuronowych na
    spektrum naszych doświadczeń.

    To ja nie rozumiem związku tego przykładu z rozmową na temat błędych odpowiedzi sieci
    na
    danych ze zbioru uczącego.


    > > Raczej chciałem
    > > tutaj powiedzieć, że sieci zbudowane w oparciu o moją architekturę nie
    > > powtarzają błędów, bo można je wyuczyć na maksa na danych rozszerzonych o
    > > przypadki w których pojawiły się błędne odpowiedzi, a problem przeuczenia
    > > nie występuje tak łatwo jak w przypadku sieci zbudowanych w oparciu o
    > > klasyczny (nie)liniowy perceptron wielowarstwowy.

    > To może kluczowe pytanie jest takie, z jakich zbiorów danych korzystałeś, żeby
    dojść
    > do tych wniosków.

    To w głównej mierze teorie i hipotezy. Ale też wykonałem kilka praktycznych testów,
    wypadły bardzo zachęcająco. Np. na danych o zarobkach wypadły najlepiej ze wszystkich
    metod uczenia jakie były dostępne w benchmarku i w wece. Minęło już kilka lat jak
    robiłem testy, ale chyba na danych syntetycznych wygenerowanych z prostych wzorów
    matematycznych, w ogóle wypadły bardzo dobrze i pobiły klasyczny perceptron na głowę
    w
    szybkości, precyzji i skuteczności na zbiorze testowym.

    Potem niestety, w obawie o to że kody źródłowe zostaną wykradzione z mojego
    komputera,
    wszystko skasowałem. Nie zdążyłem przetestować wszystkich algorytmów które
    współpracują z
    tą strukturą sieci neuronowych, w tym kilku algorytmów opracowanych przeze mnie. W
    przypadku
    tych sieci można stosować dwa odmienne algorytmy do uczenia jednej i tej samej sieci
    na
    tych samych danych - nie tak łatwo to wszystko dokładnie przetestować i odpluskwić.

    Co do teorii, to udowodniłem że moja architektura może bardzo szybko wyuczyć się
    precyzyjnie
    dowolnych danych, stanowi więc uniwersalny aproksymator.


    Co do lepszej generalizacji formalnego dowodu w ogóle nie można przedstawić.
    Mamy najprostszy, jednoelementowy zbiór uczący:
    f(0)=0.
    Zbiór testowy może być taki:
    f(1)=1,
    albo taki:
    f(1)=0.
    Z matematycznego punktu widzenia żaden z tych zbiorów nie jest ani gorszy, ani
    lepszy.
    Jeśli sieć neuronowa na jednym zbiorze testowym da poprawną odpowiedź, to na drugim
    da złą. Więc formalnie, z matematycznego punktu widzenia, nie istnieje żadna metoda
    uczenia maszynowego, która będzie cechowała się dobrymi zdolnościami do
    generalizacji.

    Moje sieci neuronowe nie próbują rozbić powyższego muru głową. Zamiast tego szybko
    się uczą, używają minimalistycznego modelu matematycznego, szybko dla danych uczących

    dają dobre odpowiedzi, nie marnją danych na zbiór testowy - ale jak pomiędzy próbkami
    jest
    jakiś nagły pik, to i salomon nie naleje - moje sieci też tego piku cudownie nie
    odgadną. Oczywiście,
    jeśli dla danego zadania lepszym modelem matematycznym będzie klasyczny perceptron
    wielowarstwowy, to
    moje sieci neuronowe będą znacznie gorsze - cudów nie ma.

    Swoje przekonania co do lepszych zdolności generalizacyjnych na danych praktycznych
    (bo
    teoretycznie, na dowolnych danych, wykazałem powyżej że jest to w ogóle niemożliwe),
    opieram
    też na pewnych podobieństwach do innych metod interpolacji/aproksymacji. Np. na tym,
    że
    jeśli aproksymujemy modelem liniowym, to wystarczą zaledwie dwie dobre próbki uczące,
    aby
    mieć dobrą aproksymację.

    Moje sieci mają też inną zaletę, moje sieci neuronowe uczą się o rzędy wielkości
    szybciej. Gdy jakąś głęboką sieć neuronową wyuczy się jeden raz przez ileś tygodni na
    klastrze złożonym z wielu GPU, to moją można wyuczyć np. setki razy na jednym
    komputerze
    bez GPU.


    > > > Na dużych zbiorach danych popełnianie błędów jest niemożliwe do uniknięcia.
    > > Jeśli jakąś przestrzeń mamy gęsto pokrytą danymi (czyli mamy dużo danych i
    > > równomiernie rozłożonych po tej przestrzeni) to jest możliwe wyuczenie sieci
    > > która da blisko 100% poprawnych odpowiedzi na zbiorze uczącymi i
    > > testowym.
    > To zależy od zbioru uczącego i testowego.
    > Ale tak, zazwyczaj (pewnie) jest możliwe. Nawet owo anegdotyczne 95% to jest
    całkiem "blisko 100%".

    Ok.

    Pozdrawiam



  • 29. Data: 2020-11-30 08:39:23
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Friday, November 20, 2020 at 11:38:25 PM UTC+1, M.M. wrote:
    > > > która da blisko 100% poprawnych odpowiedzi na zbiorze uczącymi i
    > > > testowym.
    > > To zależy od zbioru uczącego i testowego.
    > > Ale tak, zazwyczaj (pewnie) jest możliwe. Nawet owo anegdotyczne 95% to jest
    całkiem "blisko 100%".
    > Ok.
    >
    > Pozdrawiam

    Fajnie się rozmawiało, trochę szkoda że wątek się urwał :(


  • 30. Data: 2020-12-04 02:04:51
    Temat: Re: Odczyt ciśnienia - analiza obrazu
    Od: "M.M." <m...@g...com>

    On Thursday, December 3, 2020 at 11:51:26 AM UTC+1, slawek wrote:
    > 1. Można AI zastosować do szukania rozwiązań, a potem to co
    > znajdzie weryfikować algorytmem deterministycznym. Czyli np. AI
    > wybiera optymalną trasę jazdy, ale jednocześnie "głupi" algorytm
    > sprawdza czy jest ona bezpieczna. Tak aby w najgorszym przypadku
    > system zaparkował w bezpieczny sposób - np. poprosił o decyzję
    > człowieka.

    Oczywiście że można, a wraz z upływem czasu działania, napływa
    więcej danych uczących. Teoretycznie na większej ilości danych
    można zbudować lepszy system AI. W praktyce zależy jakie to jest
    AI, np. mój program szachowy (oparty o jeden liniowy neuron) grał
    gorzej gdy ilość danych była duża. Gdy próbowałem stosować
    bardziej rozbudowane sieci, to grał gorzej, uczenie trwało długo... i
    pojawiały się jeszcze inne problemy.



    > 2. Błędy - obojętnie AI czy zwykłe bugi - są "acceptable" - jeżeli
    > ich skutki (w sensie ile i jakich szkód rocznie, czyli
    > "sumaryczna kwota strat") są mniej dotkliwe niż w rozwiązaniu
    > alternatywnym. Czyli nie narzekamy że AI rozwaliła produkcję...
    > Tylko sprawdzamy czy per saldo nie wyszliśmy nawet lepiej... Bo z
    > AI to było raz na rok, a bez AI to było raz na kwartał.

    Albo gdy w ogóle nie ma (dobrego) algorytmu, jak np. zadania związane z
    rozpoznawaniem obrazu, choćby prowadzenie pojazdu. Generalnie zawsze
    dopuszcza się dane rozwiązanie jeśli straty są mniejsze od zysków z
    uwzględnieniem kosztu alternatywnego.


    Pozdrawiam.

strony : 1 . 2 . [ 3 ] . 4


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: