Sieci neuronowe dla wszystkich

Nov 29 2022
Wytrenowanie mojej pierwszej od dłuższego czasu sieci neuronowej zajęło mi targi nauki w szóstej klasie. Moja rodzina mieszka na wiejskim skrawku północnej Kalifornii, pełnym dębów, sekwoi i innej rodzimej flory.

Wytrenowanie mojej pierwszej od dłuższego czasu sieci neuronowej zajęło mi targi nauki w szóstej klasie. Moja rodzina mieszka na wiejskim skrawku północnej Kalifornii, pełnym dębów, sekwoi i innej rodzimej flory. Na zbliżające się targi naukowe mój syn postanowił zbudować model uczenia maszynowego do identyfikacji lokalnych drzew. W sobotę po południu wybraliśmy się na wędrówkę, aby zrobić zdjęcia i zbudować zbiór danych, aw sobotę wieczorem pracowaliśmy nad modelem sieci neuronowej. Targi naukowe są za dwa miesiące i pomyślałem, że potrzebujemy tego czasu na zbudowanie porządnego modelu. Jak się okazuje, dotkliwie nie doceniłem tego, jak łatwe i dostępne stało się uczenie maszynowe. Wersja 1 została ukończona po zaledwie kilku godzinach z zaskakującą dokładnością. Użyliśmy tego samego potężnego silnika AI, co wiele wiodących laboratoriów badawczych AI. Zrobiliśmy wszystko w przeglądarce i było to bezpłatne.

Po raz pierwszy zetknąłem się z sieciami neuronowymi na kursie sztucznej inteligencji w college'u podczas tak zwanej zimy AI późnych lat 90. Był to najniższy punkt entuzjazmu dla sztucznej inteligencji w ogóle, aw szczególności dla sieci neuronowych. Pomimo postępów teoretycznych w latach 80., zastosowanie komercyjne było ograniczone i stosunkowo niewiele laboratoriów badawczych koncentrowało się na sieciach neuronowych. Mimo to byłem zaintrygowany biologicznym podejściem do sztucznej inteligencji i eksperymentowałem z różnymi podejściami i zastosowaniami treningowymi. Zbudowałem modele sieci neuronowych i zakodowałem algorytmy uczące, głównie od podstaw, w języku LISPjęzyk programowania. Trening mógł trwać godzinami, a dostępnych danych treningowych było niewiele. Przez pewien czas dołączyłem do laboratorium sztucznej inteligencji w UC San Diego, aby dalej badać sieci neuronowe, ale ostatecznie poszedłem dalej. Minęło kolejne 15 lat, zanim sieci neuronowe naprawdę wystartowały, a termin „ głębokie uczenie się ” wszedł do powszechnego użytku.

Zainteresowanie głębokim uczeniem przyspieszyło w latach 2012–2018

W ciągu ostatniej dekady sieci neuronowe weszły w nowy renesans dzięki procesorom graficznym, przetwarzaniu w chmurze, ogromnym zbiorom danych i ciągłym postępom w algorytmach uczenia się. Aplikacje komercyjne eksplodowały. Aplikacje obejmują rozpoznawanie mowy (Siri, Alexa), tłumaczenie (Google Translate), generowanie tekstu (OpenAI's GPT-3), rozpoznawanie obrazu (Tesla Autopilot, Adobe Sensei), generowanie obrazu (Dall-E 2, Midjourney, Stable Diffusion), rozpoznawanie (Apple Photos), generowanie wideo (Runway) i odkrywanie leków. Niektóre z najbardziej imponujących nowych aplikacji znajdują się w generatywnej sztucznej inteligencji , która rozwija się z zawrotną szybkością.

Szybko przejdźmy do minionego weekendu Święta Dziękczynienia, który skłonił nas do kilku obserwacji.

Po pierwsze, jest zadziwiająco łatwy w konfiguracji i szkoleniu nawet dość skomplikowanych modeli uczenia maszynowego. Nie musisz kodować ani mieć doświadczenia w uczeniu maszynowym. Istnieje wiele narzędzi uczenia maszynowego bez kodu i AutoML , które automatyzują typowe kroki w przepływie pracy uczenia maszynowego. Aby połączyć własne przepływy pracy, pomocna jest podstawowa znajomość Pythona, języka popularnego w społeczności uczącej się maszyn. Mój 12-letni syn uczy się Pythona od około dwóch lat. Z własnej inicjatywy pobrał TensorFlow — bibliotekę uczenia maszynowego, która napędza Google i OpenAI — i szybko uruchomił przykładowy model na swoim laptopie. Jeszcze łatwiejsze, znalazłem samouczekw sprawie klasyfikacji obrazów, która wykorzystuje TensorFlow i działa w środowisku Google Colab . Colab pozwala budować modele uczenia maszynowego w przeglądarce internetowej i uruchamiać je na procesorach graficznych Google za darmo, bez pobierania lub instalowania jakichkolwiek pakietów. Istnieją niezliczone samouczki i wstępnie wyszkolone modele , od których można zacząć.

Po drugie, czynnikami ograniczającymi szybkość wdrażania tej technologii są wyobraźnia nowych aplikacji w świecie rzeczywistym oraz dane wysokiej jakości do trenowania modeli. Problem rozpoznawania typu drzewa na podstawie obrazu należy do dziedziny klasyfikacji obrazów. Ponieważ jest to powszechne zastosowanie uczenia maszynowego, najtrudniejszym krokiem jest złożenie solidnego zestawu danych. Nie mogliśmy znaleźć łatwo dostępnego zestawu danych lokalnych drzew oznaczonych nazwami, więc stworzyliśmy własny. Krótka wędrówka z iphonem dała około 250 zdjęć. To niewiele jak na dzisiejsze standardy. Najnowszy model stabilnej dyfuzji jest trenowany przy użyciu niedawno opublikowanego zestawu danych LAION-5B zawierającego 5,85 miliarda obrazów z sieci. Wraz z upublicznieniem większej liczby zestawów danych bariery w opracowywaniu modeli specjalnego przeznaczenia będą spadać.

Po trzecie, istnieje obecnie wiele rozwiązań i zasobów do wprowadzania modeli uczenia maszynowego do produkcji (ML Ops). Zaledwie kilka lat temu wyzwaniem było wytrenowanie modelu i wdrożenie go z szybkością i skalą sieci. Obecnie stosunkowo łatwo jest wdrożyć modele w przeglądarce, na telefonie, na serwerze lub w przepływie pracy w przedsiębiorstwie.

Wkroczyliśmy w złoty wiek sieci neuronowych. To niezwykle ekscytujący czas dla naukowców zajmujących się sztuczną inteligencją/uczeniem głębokim, przedsiębiorcą AI lub studentem zainteresowanym sztuczną inteligencją. Gotowe są już dojrzałe aplikacje, a także szereg nowych badań nad sztuczną inteligencją, które będą napędzać innowacyjne aplikacje w nadchodzących latach. Dostępność technologii oznacza, że ​​nie potrzebujesz laboratorium badawczego ani kapitału, aby wziąć udział. To niesamowite, jak koncepcja może istnieć przez dziesięciolecia (np. samochody elektryczne, sieci neuronowe), ale nie wystartować, dopóki warunki nie będą odpowiednie.