Nie lubię sieci neuronowych

0

Cześć,
Chciałem porozmawiać o sieciach neuronowych. Wydają mi się dobrym sposobem na skompresowanie pewnych danych i na szybkie obliczenie rezultatu, ale same z siebie nie wymuszają wcale "inteligentnego zachowania". Są jak program do kompresji danych, któremu jest wszystko jedno, co kompresuje. Dlatego jestem zwolennikiem alternatywnego podejścia - trochę jak HMM, ale HMM też mi się nie podobają, ze względu na zbyt ogólną definicję. Pomysł na trenowanie sieci tak, żeby zmusić je do określonych zachowań wydaje mi się postawieniem problemu na głowie. To znaczy owszem, da się to zrobić, ale co z tego. To tak jak z aproksymacją dowolnej byle dość gładkiej funkcji za pomocą wielomianu - możemy sobie dowolnie dokładnie przybliżyć wielomianem zadaną (gładką) funkcję, ale inteligencja to, jak sądzę, coś bardziej subtelnego. Możemy wytrenować wystarczająco złożoną sieć tak, żeby dowolnie dokładnie odzwierciedlała jakieś zachowanie, ale nie tędy droga. Chodziło mi to po głowie od jakiegoś czasu i chciałem luźno o tym podyskutować. Dlatego Flame.

2

Nie czaję. Masz jakieś pytanie? Co chcesz kompresować? Bo aproksymacja funkcji za pomocą SN to zagadnienie już całkiem dobrze poznane. W sumie jeśli się zastanowić to sieci neuronowe nie są niczym innym niż funkcjami aproksymującymi, tj. takimi, które na podstawie zbiorów wejścia I = {I(0), I(1), I(2), I(3)... I(n)} i wyjścia O = {O(0), O(1), O(2), O(3)... O(n)} tworzą funkcję F, taką, że F(I(n))=P(n), gdzie fit(P(n), O(n)) = min (lub max, w zależności jak się ją zdefiniuje).

0
wartek01 napisał(a):

Nie czaję. Masz jakieś pytanie? Co chcesz kompresować? Bo aproksymacja funkcji za pomocą SN to zagadnienie już całkiem dobrze poznane. W sumie jeśli się zastanowić to sieci neuronowe nie są niczym innym niż funkcjami aproksymującymi, tj. takimi, które na podstawie zbiorów wejścia I = {I(0), I(1), I(2), I(3)... I(n)} i wyjścia O = {O(0), O(1), O(2), O(3)... O(n)} tworzą funkcję F, taką, że F(I(n))=P(n), gdzie fit(P(n), O(n)) = min (lub max, w zależności jak się ją zdefiniuje).

Nie mam pytania. Tylko taką refleksję. Masz absolutną rację - właśnie to chciałem im wytknąć. Są zwyczajnymi funkcjami. No, może automatami, bo jednak sieć neuronowa ma własny stan, który można zmienić. Ale to, że sieć (dostatecznie złożoną) można wytrenować tak, by aproksymowała dowolną funkcję nie jest żadną rewelacją.

Z mojego doświadczenia wynika, że kompresować należałoby dwie rzeczy. Po pierwsze sygnał na wyjściu w zależności od sygnału na wejściu i stanu sieci, po drugie to, jak zmienia się stan sieci w zależności od sygnału na wejściu. Jeżeli mamy taką sieć, o jakiej piszesz, czyli bez stanu, to to jest zwykła funkcja i stan jest stały. Nie ma w tym niczego inteligentnego, a wszyscy (albo prawie wszyscy) rzucili się na te sieci i nie chcą słyszeć o niczym innym.

1

Sieci neuronowe to kolejne "narzędzie" i jak widać na niektórych poletkach się sprawdza, na niektórych nie. Inteligencji w tym zero ...
Ja nawet przyrównałbym to do młotka.
No bo co w tym młotku szczególnego jest : kawał metalu z przyczepionym jakimś drewnem - no nic szczególnego.
Ściany tym nie pomaluje, samochodu nie poprowadzę - ale np. już gwoździa wbiję, wykorzystam jako instrument muzyczny i zastosuję jako "mocny" argument perswazji w konfrontacjach międzyludzkich :)
A jak ten młotek źle zastosuję - to sobie palca obiję i skończy się to moją wielką krytyką tego narzędzia ( , oczywiście bólem ) i nawet pomyślę o wbijaniu gwoździ np. butem !

1

wszyscy (albo prawie wszyscy) rzucili się na te sieci i nie chcą słyszeć o niczym innym.

W sensie? Ostatnią głośną akcją był DALL-E oraz Stable Diffuse, ale tutaj powód do rzucenia się na zabawę z tymi sieciami był całkiem uzasadniony :-)

0
Patryk27 napisał(a):

wszyscy (albo prawie wszyscy) rzucili się na te sieci i nie chcą słyszeć o niczym innym.

W sensie? Ostatnią głośną akcją był DALL-E oraz Stable Diffuse, ale tutaj powód do rzucenia się na zabawę z tymi sieciami był całkiem uzasadniony :-)

Nie wiedziałem, co to takiego. Sprawdziłem.

To zdanie, które zacytowałeś to wyraz mojego żalu. Jestem amatorem w AI, nie zajmuję się tym zawodowo, ale mam kilka pomysłów, trochę kodu. I nikt z akademików nie chce ze mną nawet porozmawiać! Próbowałem na uniwersytecie w Helsinkach (mieszkam w Finlandii), w Polsce, w Rosji, w Niemczech, nawet w Chinach. Jedna z ciekawszych odpowiedzi (z Helsinek) brzmiała tak:

Thanks for asking, but we do not arrange appointments unless it is clear how/why the matter should concern our university.

Odpisałem, że uniwersytet będzie niewątpliwie trwać, z moim algorytmem czy bez niego. No bo się trochę zdenerwowałem (co mi się rzadko zdarza). Akademicy od tego są, żeby się tym zajmować.

Wracając do sieci neuronowych - nie neguję ich możliwości, tylko zauważam czym naprawdę (tj. z punktu widzenia matematyki) są. Według mnie problem inteligencji można rozwiązać stawiając najpierw zadanie, a nie architekturę rozwiązania. Zadaniem powinna być maksymalizacja wartości oczekiwanej zysku. Funkcji wypłaty. I wszystko jedno, czy rozwiązanie będziemy się starali znaleźć w przestrzeni możliwych sieci o zadanej architekturze czy w czymś innym. Sieci neuronowe to tylko marketingowa nazwa szczególnej klasy programów. Z ich struktury nie wynika, że będą się starały zmaksymalizować wartość oczekiwaną zysku, przeciwnie, mogą aproksymować dowolny automat.

1
Paweł Biernacki napisał(a):

Z mojego doświadczenia wynika, że kompresować należałoby dwie rzeczy. Po pierwsze sygnał na wyjściu w zależności od sygnału na wejściu i stanu sieci, po drugie to, jak zmienia się stan sieci w zależności od sygnału na wejściu. Jeżeli mamy taką sieć, o jakiej piszesz, czyli bez stanu, to to jest zwykła funkcja i stan jest stały.

Takie sprostowanie - nawet automat jest funkcją, po prostu automaty przyjmują ciągi elementów jako wejście. Tj. jeśli np. masz sieć, która dla I1, a potem I2 da ci różne wyniki niż gdy wrzucisz tam najpierw I2, a potem I1 to odwzorowanie będzie wyglądało tak:
K1 = {I1, I2}
K2 = {I2, I1}

F(K1) = O1
F(K2) = O2

Nie ma w tym niczego inteligentnego, a wszyscy (albo prawie wszyscy) rzucili się na te sieci i nie chcą słyszeć o niczym innym.

Nie ma. I bardzo mocno wątpię, żeby ktokolwiek, kto się zajmuje sieciami neuronowymi od strony warsztatowej myślałem o SN jako o sztucznej inteligencji. I nie widzę, żeby ludzie rzucili się na SN, po prostu AI robi karierę, a część niedoinformowanych dziennikarzy błędnie utożsamia AI z SN bo kiedyś usłyszeli o "sztucznej inteligencji opartej na sieciach neuronowych".

To zdanie, które zacytowałeś to wyraz mojego żalu. Jestem amatorem w AI, nie zajmuję się tym zawodowo, ale mam kilka pomysłów, trochę kodu. I nikt z akademików nie chce ze mną nawet porozmawiać!

Kiedyś rozmawiałem od doktora fizyki usłyszałem, że kiedy przychodzi człowiek z ulicy i ma jakieś swoje rewolucyjne odkrycia to zawsze jest to:

  • "wynalezienie" nowych oznaczeń (to jest ponoć najczęstsze)
  • wymyślenie koła na nowo (tj. pokazują coś, co już ktoś pokazał)
  • lub też wykazywanie kwadratury koła (tj. ktoś tworzy błędne założenie i potem wyciąga błędne wnioski)

Być może twoje pomysły są dobre, natomiast trudno się dziwić uniwersytetom, że nie chcą przeznaczać czasu ludziom bez jakiegokolwiek zaplecza.

0
wartek01 napisał(a):
Paweł Biernacki napisał(a):

Nie ma w tym niczego inteligentnego, a wszyscy (albo prawie wszyscy) rzucili się na te sieci i nie chcą słyszeć o niczym innym.

Nie ma. I bardzo mocno wątpię, żeby ktokolwiek, kto się zajmuje sieciami neuronowymi od strony warsztatowej myślałem o SN jako o sztucznej inteligencji. I nie widzę, żeby ludzie rzucili się na SN, po prostu AI robi karierę, a część niedoinformowanych dziennikarzy błędnie utożsamia AI z SN bo kiedyś usłyszeli o "sztucznej inteligencji opartej na sieciach neuronowych".

Znowu się zgodzę. Tak najprawdopodobniej jest.

To zdanie, które zacytowałeś to wyraz mojego żalu. Jestem amatorem w AI, nie zajmuję się tym zawodowo, ale mam kilka pomysłów, trochę kodu. I nikt z akademików nie chce ze mną nawet porozmawiać!

Kiedyś rozmawiałem od doktora fizyki usłyszałem, że kiedy przychodzi człowiek z ulicy i ma jakieś swoje rewolucyjne odkrycia to zawsze jest to:

  • "wynalezienie" nowych oznaczeń (to jest ponoć najczęstsze)
  • wymyślenie koła na nowo (tj. pokazują coś, co już ktoś pokazał)
  • lub też wykazywanie kwadratury koła (tj. ktoś tworzy błędne założenie i potem wyciąga błędne wnioski)

Być może twoje pomysły są dobre, natomiast trudno się dziwić uniwersytetom, że nie chcą przeznaczać czasu ludziom bez jakiegokolwiek zaplecza.

Ja się nie dziwię, tylko mam żal. Zajmuję się tym z dwadzieścia lat. To nie jest tak, że nie mam jakiegokolwiek zaplecza, jestem magistrem inżynierem (po AGH, informatyka) i jeszcze studiowałem informatykę na RWTH w Aachen (cztery lata). Mam działającą implementację mojego algorytmu. Z tego co wiem, moim pomysłom najbliżej do HMM i do Dynamicznego Programowania. Jest tak, że w ogólnym szale na AI nie mam żadnych szans się przebić ze zwykłym algorytmem optymalizacji.

3

Walcz zatem ! Pokazuj, prezentuj siłę swojego rozwiązania. Zrób listę dlaczego Twoje rozwiązanie jest lepsze od AI np. mniejszy koszt eksploatacji, lepsze i szybsze wyniki, "wyjaśnialność" wyników ...
Sprawdź czy może już takie rozwiązanie istnieje.
Naprawdę trudno mieć pretensję o to, że jakaś technologia "istnieje".

2

SN mają parę zalet. Są uniwersalne, czyli to co cię denerwuje, jest ich zaletą. Sieć o identycznej topologii poradzi sobie z dowolnym (podobnie złożonym) problemem szacowania wyniku na podstawie zbioru wartości historycznych (training set). W dodatku istnieją do tego gotowe narzędzia, które taką sieć są w stanie utworzyć w paru linijkach i są dobrze obsługiwane przez sprzęt (np. GPU). Oczywiście, są one "głupie", czyli w gruncie rzeczy, to nic więcej niż rozdmuchana regresja liniowa.
Z drugiej strony, nie zależnie od tego jakiego sposobu budowy modelu użyjesz, wyniki będą podobne. Różnica będzie w czasie potrzebnym na jego uzyskanie. Dlatego wszystkie te sztuczki z topologią sieci, filtrowaniem / obróbką danych wejściowych.

Z argumentami "to nie jest inteligencja", mam problem, bo na ogół po nich nie pada żadna, nawet zgrubna definicja, czym ta inteligencja jest. Wydaje mi się, że jako ludzie mocno przeceniamy naszą kreatywność i nieschematyczność. Czujemy się strasznie wyjątkowi, a jak w biedronce jest promocja na kaszankę, to tłumy biegną.

3

gdzie przeczytałam takie zdanie i nie mogę sobie przypomnieć gdzie to było?
"sztuczna inteligencja nie jest inteligencją , tak uczenie maszynowe nie jest uczeniem"
ale się z nim zgadzam, a ludziom się wydaje że sztuczna inteligencja to naprawdę coś jak z filmów o superbohaterach

1 użytkowników online, w tym zalogowanych: 0, gości: 1