Machine learning, a sieci neuronowe

0

Mam na studiach przedmiot - sieci neuronowe, na który mam zrobić projekt semestralny tj. jakąś sieć. Próbuję ogarnąć temat, ale gubię się w nomenklaturze. Kolega kupił kurs na udemy o machine learningu. Z tego, co rozumiem, to sieci neuronowe nie równają się machine learningowi, a są jakby podzbiorem tej dziedziny. Na podstawie tego wnioskuje, że rozwiązanie ML, w którym trenujemy model, nie jest siecią neuronową tylko supervised ML. Czy dobrze myślę?

Projekt zamierzam wykonać w Pythonie i tutaj problem ze zrozumieniem różnic między Pytorch i scikit learn. Pytorch rozumiem, że służy do budowy sieci neuronowych, a scikit learn jest ogólną biblioteką do ML. Czy w takim razie da się stworzyć perceptron z pomocą scikit learn?

Przepraszam, jeżeli temat umieszczony w złym dziale, ale z mojego powyższego wywodu wynika kolejny.

Na zaliczenie mogę zrobić perceptron, ale temat ML ciekawi mnie odkąd pierwszy raz o nim usłyszałem. Na studiach wybrałem specjalizację - inżynieria sztucznej inteligencji, ponieważ właśnie była najbliższa moim zainteresowaniom z możliwych, pomimo że obecnie jestem całkowicie zielony w tym temacie. Na następnym semestrze będę zaczynał pisanie pracy dyplomowej, ale jeszcze nie myślałem o możliwym temacie. Pojawiła się u mnie myśl, żeby była właśnie na temat sztucznej inteligencji, a w związku z tym strzelam, że dobrze by było, gdybym już teraz zaczął się uczyć w tym kierunku, a nie poznawał temat pisząc pracę. Z drugiej strony wydaje mi się, że programowanie w tej dziedzinie jest tylko narzędziem, a nie sensem samym w sobie. Mnie jednak interesuje programowanie i nie wiem też, czy podołałbym pod względem matematycznym. Podejrzewam również, że praca na ten temat nie będzie najłatwiejsza i ewentualnie będzie to wyraz jakiejś ambicji zamiast pójścia na łatwiznę. Czy praca dyplomowa na ten temat może otworzyć jakieś nowe perspektywy w przyszłości? Czy podjęlibyście się takiego tematu nawet dla czystej satysfakcji bez wizji późniejszej pracy w tej dziedzinie? Może powinienem zaznajomić się z tematem do czasu wyboru tematu i wtedy tak jak w programowaniu będę wiedział, ile nie wiem i jak bardzo jest to skomplikowane? A może powinienem nie cudować i skupić się na programowaniu?

2

@szafran98:

Projekt na studia? To może projekty studenckie, na przykład ze Stanforda?
https://4programmers.net/Foru[...]szynowego?p=1755955#id1755955
[wykłady, projekty z poprzednich lat]

2

Z tego, co rozumiem, to sieci neuronowe nie równają się machine learningowi, a są jakby podzbiorem tej dziedziny. Na podstawie tego wnioskuje, że rozwiązanie ML, w którym trenujemy model, nie jest siecią neuronową tylko supervised ML. Czy dobrze myślę?

Ogólnie tak, sieci neuronowe są jednym z rodzajów modeli, które można wykorzystać w uczeniu maszynowy, Innymi modelami są drzewa decyzyjne, regresja liniowa, klasyfikator bayesowski i wiele innych.

Projekt zamierzam wykonać w Pythonie i tutaj problem ze zrozumieniem różnic między Pytorch i scikit learn. Pytorch rozumiem, że służy do budowy sieci neuronowych, a scikit learn jest ogólną biblioteką do ML. Czy w takim razie da się stworzyć perceptron z pomocą scikit learn?

Pytorch jest to framework wykorzystywany stricte pod różnego rodzaju sieci neuronowe i na pewno możesz w nim utworzyć perceptron. Jeśli chodzi o scikit learn to posiada ona wsparcie w wielu innych gałęziach ml jak np. regresja liniowa czy svm. Do sieci neuronowych się raczej tego nie stosuje (ja przynajmniej nie znalzałem takiej funkcjonalności).

Co do ostatniego akapitu, to w sumie sam musisz zdecydować co chcesz robić ;) Z mojego doświadczenia jest tak, że przy uczeniu maszynowym też jest dużo programowania, ale rzezcywiście dużo czasu się też spędza na innych rzezcach jak np. obróbka danych uczących, szukania błędnych próbek, szukanie nowych danych. Jest również trichę researchu czyli po prostu siedzisz i czytasz nowinki naukowe z świata sztucznej inteligencji, który jest bardzo dynamiczny. Mnie się taka praca podoba, ale wiadomo, że każdy lubi co innego. Studia to na pewno dobry czas, żeby eksperymentować z różnymi kierunkami, żeby finalnie wybrać to co najbardziej będzie Cię interesowało.

Czy praca dyplomowa na ten temat może otworzyć jakieś nowe perspektywy w przyszłości? Czy podjęlibyście się takiego tematu nawet dla czystej satysfakcji bez wizji późniejszej pracy w tej dziedzinie?

Robiłem prace dyplomowe w okolicach sztucznej inteligencji i w sumie nie myślałem czy mi się to później przyda. Myślę, że ciekawy temat pracy dyplomowej jest dobrym punktem zaczepienia podczas rozmowy o pierwszą pracę.

1

Jeżeli przyłożysz się do sieci neuronowych to będziesz miał cudowne efekty za wiele lat (kasa). Polecam dosyć skutecznie zająć się tematem, szczególnie jeżeli zaczynasz.

Jeżeli myślisz w którym kierunku iść, to moim zdaniem warto: wszelkie predykcje na różne sposoby, rozpoznawanie obrazu, data mining.

Podpowiem też, że bawiłem się SN w Scilabie i polecam bibliotekę ANN Toolbox. Mam wątek tutaj na temat jednej predykcji liniowej z użyciem tej biblioteki i Scilaba.

1

Ja jeszcze tylko dopowiem, ze aktualnie jest darmowy kwiecien na pluralsight, gdzie tez sa kursy z sieci neuronowych. Z tego, co widzialem, mozna tez taki kurs pobrac, jezeli nie zdazysz ich ogarnac do konca kwietnia, wiec korzystaj

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