Czy sztuczna inteligencja to tylko programowanie

0

Sztuczna inteligencja czy to tylko programowanie, czy może zbudowanie rozwiązania, które ów zostanie zaprogramowane wymaga zbudowania odpowiednich wzorów matematycznych? Dlaczego pytam? Przeglądając wczoraj notatki do wykładów prof. Włodzisław Duch oraz książkę prof. Ryszarda Tadeusiewicza "Sieci neuronowe" napotkałem całe mnóstwo przykładów matematycznych obrazujących sieci neuronowe. Przykładem może tu być Warstwa neuronów jako najprostsza sieć

Z tego co wiem, a zaznaczam, że nie wiem jeszcze dużo o AI budując nawet prostego chatterbota należy zaprogramować neuron.

Czy zatem chcąc zostać dobrym programistą AI należy pojąć wiedzę w takich dziedzin jak psychologia, budowa mózgu, wyższa matematyka, aby móc za pomocą matematyki zbudować właściwe wzory, a następnie je zaprogramować?

Zbudowanie prostej sieci neuronowej będzie szybsze na etapie budowania wzoru matematycznego niż implementowanie. Będąc nowicjuszem pewne zbudowane matematycznie wzory mogą nie działać poprawnie po implementacji, ale z czasem człowiek to opanuje.

3

Zaprogramowanie algorytmu sztucznej inteligencji / uczelnia maszynowego to jest szczegół. Wyzwanie stanowi wymyślenie reprezentacji oraz algorytmów, a tutaj bez matematyki może być raczej ciężko. Oczywiście jeśli chcesz tylko zaklepać istniejący algorytm to potrzeba raczej minimalnej wiedzy ;]

Jeśli chodzi o budowę mózgu to raczej zbędna wiedza, bo już od lat próbowano zamodelować AI w oparciu o sieci neuronowe które miały przypominać te w mózgu i wielkich efektów to nie dało. Jest cała masa bardziej obiecujących metod uczelnia maszynowego niż sieci neuronowe jak choćby reguły asocjacyjne, drzewa decyzyjne, uczenie ze wzmocnieniem. Główny problem sieci neuronowych to ich absolutna nieczytelność. Nie da sie stwierdzić czemu sieć działa lub nie. Jak działa dla 9/10 przypadków to nie da sie jasno stwierdzić czemu dla tego 1 się myli. Jak już się sieć nauczy coś rozpoznawać to nie da się stwierdzić "po czym rozpoznaje", co czasem byłoby bardzo wartościowe.

0

Jeśli chodzi o budowę mózgu to raczej zbędna wiedza, bo już od lat próbowano zamodelować AI

Od lat... ale za X lat... duże prawdopodobieństwo, że się w końcu to uda. Nauka, technologia, możliwości cały czas się rozwijają.

Ciekawym tematem, którego pewnie nie dożyję (choć niektórzy twierdzą, że będzie to możliwe do 2050 roku) będzie Transfer Umysłu - o ile będzie to możliwe, ale pewnie kiedyś, za bardzo wiele lat będzie.

0

Jak to nie da się stwierdzić czemu nie działa? Prosty przykład: perceptron prosty, nie poradzi sobie z nauczeniem XOR. Dlaczego sobie nie poradzi, to to jest dość jasno wyjaśnione w wielu publikacjach. Wymagana jest warstwa ukryta, również jest to wyjaśnione w publikacjach co to daje.

Pójdźmy dalej, perceptron, funkcja aktywacji sigmoidalna bipolarna (przechodzi przez zero), albo tangens hiperboliczny, na wejściach same zera, na wyjściu ma być jednynka. Nie ma szans żeby bez biasu dało się taki perceptron nauczyć. Wynika to po prostu z zasady działania, czyli zera na wejściu pomnożone przez dowolne wagi, daje nadal zero, na wyjściu nie ma szan być jedynka, ponieważ funkcja sigmoidalna bipolarna przyjmie warość zero dla zera. Proste. Wystarczy jednak dodać jedno dodatkowe wejście ustawione na 1 i gotowe.

Jeszcze większy problem to to ile ma być warstw ukrytych i ile neuronów, co do pomyłek to jest jeszcze problem przetrenowania sieci ale to już trochę bardziej złożona sprawa. Są jeszcze inne sieci jak np. Hopfielda, to jest ciekawa sieć, bo np. na podstawie niepełnych informacji można odtworzyć całość, oprócz tego SOM albo RBF i wiele innych. To ciekawe zagadnienie. Tylko że obawiam się że bez znajomości tego jak to działa od strony ich budowy i modelu matematycznego to sobie można próbować coś realizować i potem się dziwić dlaczego nie działa.

0

@drorat1 nie wiem czy ty teraz trollujesz czy tak serio piszesz.
Jasne że dla BANALNYCH funkcji jak XOR czy AND to sobie można zrobić analizę takiej sieci i wiadomo gdzie leży problem. Ale jak sieć na rozpoznawać twarze na zdjęciach? Albo noże w bagażach? I samych wejść masz tysiące? Chciałbym zobaczyc tą twoją analizę czemu sieć wykrywa pilnik a maczety nie chce wykryć ;]
Tak samo ten pomysł z warstwą ukrytą :D Jasne, dla banalnego przykładu łatwo pokazać czemu i jaka jest potrzebna. Ale jak przykład jest trudniejszy to nagle się okazuje że w sumie nie wiadomo ile neuronów ukrytych brać.

Reprezentacja wiedzy w sieci neuronowej jest po prostu nieczytelna, poza tymi trywialnymi przypadkami które można sobie rozpisać na kartce...

0

To nie jest żadne trollowanie tylko jak najbardziej poważnie to napisałem. To absolutne podstawy bez których nie ma co się nawet porywać na realizację bardziej złożonych rzeczy (właściwie to czegokolwiek). Zagadnienia uczenia z nauczycielem i aproksymacji funkcji wielu zmiennych przy użyciu sieci MLP, z zadaną dokładnością to klucz do zrozumienia całej zagadki. Wiem o czym piszę bo robiłem swego czasu rozpoznawanie obrazków i inne rzeczy. Im bardziej coś zbliżone do wzorca to tym lepiej żeby poprawnie zostało rozpoznane. A jeżeli maczeta nie była podana jako wzorzec treningowy a jedynie nóż to w jaki sposób ma być poprawnie rozpoznana?

Z drugiej strony fakt, nie jest to takie proste. Robiłem testy na trzech literach drukowanych A, B, C, sieć rozpoznawała najczęściej poprawnie litery przesunięte, zaszumione, pochylone, pisane ręcznie, natomiast w przypadku podania choćby negatywu wynik byłby już niepoprawny. Tak samo z podaniem np. litery D która nie była w zbiorze treningowym.

1

Nauką najbliższą sztucznej inteligencji jest KONGNITYWISTYKA - co zobrazować można dość prosto w schemacie 15 dziedzin nauki wchodzących w tę dziedzinę.

  1. Matematyka
  2. Neurobiologia
  3. Statystyka
  4. Informatyka
  5. Biochemia
  6. Biologia
  7. Sztuczna inteligencja
  8. Biocybernetyka
  9. Antropologia
  10. Psychologia
  11. Filozofia umysłu
  12. Badania nad mózgiem
  13. Biofizyka
  14. Psychofizyka

Na podstawie książki Sztuczna Inteligencja autorstwa p. Marka Kasperskiego

  1. Epistemologia
  2. Filozofia języka, filozofia umysłu
  3. Logika, matematyka, filozofia umysłu
  4. Informatyka, nauki o mózgu
  5. Psychologia kognitywna
  6. Psychologia rozwoju dziecka

Nie ma szerszej możliwości bycia specjalistą od sztucznej inteligencji nie posiadając interdyscyplinarnej wiedzy różnych dziedzin nauki. Są to zarówno nauki humanistyczne jak przykładowo filozofia umysłu a ścisłe matematyczne zakładając m.in. algebrę, analizę prawdopodobieństwa.

Rozjaśniając temat Kognitywistyka zakładając przy tym, że nie każdy może mieć o tym pojęcie:

Kognitywistyka jest syntezą wiedzy o umyśle pochodzącej z różnych źródeł.
Składa się na nią:

  • Refleksja filozoficzna nad naturą
    umysłu.
  • Wiedza o zachowaniu ludzi i
    zwierząt, oraz o ich stanach
    psychicznych.
  • Biologiczne podłoże zjawisk
    psychicznych ‐ badania nad mózgiem.
  • Psycholingwistyka, badanie języka.
  • Modele matematyczne i podejście inżynierskie: zbudujmy sobie coś podobnego.

Na podstawie jednego z materiałów, które posiadam na ten temat:

5 dziedzin nauki o podstawowym znaczeniu dla zrozumienia umysłu to:

  • Psychologia poznawcza.
  • Sztuczna inteligencja.
  • Psycholingwistyka, lingwistyka kognitywna.
  • Nauki o mózgu, neurobiologia, neuropsychologia i inne neuronauki.
  • Filozofia umysłu.
    Przydatne nauki dodatkowe to: antropologia, psychofizyka, lingwistyka komputerową,
    sztuczne życie (artificial life), sieci neuronowe, algorytmy ewolucyjne, komputerowe
    widzenie (computer vision) i wiele innych.

Spora część w badaniu sztucznej inteligencji to neuronauki:
Neuronauki na poziomie molekularnym i komórkowym: neurochemia, neuroendokrynologia, neurogenetyka,
neurochirurgia, neurofarmakologia, neuropsychofarmakologia, neurobiologia neuronów, biofizyka neuronów ...
Neronauki zajmujące się rozwojem i dojrzewaniem układu nerwowego, od stadium embrionalnego.
Neuroanatomia, anatomia porównawcza mózgów.
Konektonomika, badająca połączenia grup neuronów w mózgach.
Neuronauki związane z chorobami układu nerwowego, takie jak neuropatologia, neurologia, neuropsychiatria,
neuropsychologia, psycho‐neuro‐immunologia ...
Neuronauki systemowe, specjalizujące się w badaniu działania poszczególnych zmysłów i kontroli ruchów.
Chronobiologię, zajmującą się rytmami biologicznymi i subiektywnym postrzeganiem upływu czasu.
Neurofizjologię ogólną, zajmującą się badaniem funkcjonowania układu nerwowego metodami
elektrofizjologicznymi i innymi.
Neurofizjologię zachowania (behawioralną), która jest nauką na pograniczu zagadnień
mózg/umysł, zajmuje się badaniem związków stanów mózgu i zachowania.
Neuronauki poznawcze, takie jak neurolingwistyka, szukające mechanizmów tworzenia się
funkcji afektywno‐poznawczych, takich jak emocje, pamięć, uwaga, uczenie się ...
Neurosocjologia, czyli neuronauki społeczne, próba uwzględnienia czynników społecznych w
rozwoju zdolności komunikacyjnych, językowych, kulturowych, możliwości i ograniczeń wynikających z procesów
ewolucyjnych i neurobiologicznych.
Neuronauki komputerowe i systemowe, modelujące funkcje struktur neuronowych za pomocą symulacji
komputerowych i teorii matematycznych.
Informatyka neurokognitywna, próbująca czerpać inspiracje z analizy działania układu nerwowego do tworzenia
użytecznych algorytmów.
Neuroinżynieria, tworzenie interfejsów mózg‐komputer, neuroprotez współpracujących z układem nerwowym
Neuroergonomia dążąca do zrozumienia i udoskonalenia relacji pomiędzy zdolnościami poznawczymi i
artefaktami techniki i biznesu.
Neuroobrazowanie i rozwój sprzętu do prowadzenia badań, pełniące rolę usługową w badaniach nad mózgiem.

Aby móc pracować nad SI pisząc to dość skróconym przykładem trzeba pierw poznać samego siebie = jak działa Twój umysł. Zrozumienie umysłu == zrozumienie siebie. Przykład na sobie samym, tyczy się to jednak podejścia psychologicznego ludzi.

Sztuczna inteligencja: umysł to maszyneria do przetwarzania informacji.
Podstawa filozofii kognitywnej i psychologii kognitywnej.
Proste procesy przetwarzania informacji tworzą procesy złożone, inteligentne działanie.
Symbole + reguły manipulacji => nieskończenie wiele kombinacji.
Algorytmy manipulowania symbolami => nieskończenie złożone zachowanie.
Algorytmy + reprezentacje wiedzy pozwolą zrozumieć umysł.
Przetwarzanie informacji nie musi zachodzić w białkowych mózgach.

Podsumowując. Sztuczną inteligencje pod kątem programowania podzielić można na 1/ programowanie przy wykorzystaniu gotowych algorytmów lub 2/ budowę tychże algorytmów łącząc interdyscyplinarną wiedzę przy czym samo programowanie to najmniej skomplikowana czynność posiadając algorytm wyrażony matematycznie. Znaczenie ma też poziom na którym chce się budować SI.

0

A studiował ktoś kognitywistyke na UJ albo zna kogoś kto studiował? Warto w ogóle to studiować czy może lepsza zwykła informatyka?

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