Spis treści[Ukryć][Pokazać]
- 1. Czym dokładnie jest głębokie uczenie?
- 2. Co odróżnia Deep Learning od Machine Learning?
- 3. Jakie jest twoje obecne rozumienie sieci neuronowych?
- 4. Czym dokładnie jest perceptron?
- 5. Czym dokładnie jest głęboka sieć neuronowa?
- 6. Czym dokładnie jest wielowarstwowy perceptron (MLP)?
- 7. Jaki cel pełnią funkcje aktywacyjne w sieci neuronowej?
- 8. Czym dokładnie jest zejście gradientowe?
- 9. Czym dokładnie jest funkcja kosztu?
- 10. W jaki sposób głębokie sieci mogą przewyższać płytkie?
- 11. Opisz propagację w przód.
- 12. Co to jest propagacja wsteczna?
- 13. W kontekście głębokiego uczenia się, jak rozumiesz obcinanie gradientu?
- 14. Jakie są funkcje Softmax i ReLU?
- 15. Czy model sieci neuronowej można trenować z wszystkimi wagami ustawionymi na 0?
- 16. Co odróżnia epokę od partii i iteracji?
- 17. Czym są normalizacja i porzucanie partii?
- 18. Co odróżnia stochastyczne opadanie gradientowe od opadania wsadowego?
- 19. Dlaczego uwzględnienie nieliniowości w sieciach neuronowych ma kluczowe znaczenie?
- 20. Czym jest tensor w głębokim uczeniu się?
- 21. Jak wybrałbyś funkcję aktywacji dla modelu uczenia głębokiego?
- 22. Co masz na myśli mówiąc CNN?
- 23. Jakie są liczne warstwy CNN?
- 24. Jakie są skutki nadmiernego i niedostatecznego dopasowania i jak możesz ich uniknąć?
- 25. Czym w głębokim uczeniu się jest RNN?
- 26. Opisz Adam Optimizer
- 27. Głębokie autoenkodery: czym one są?
- 28. Co oznacza Tensor w Tensorflow?
- 29. Wyjaśnienie grafu obliczeniowego
- 30. Generatywne sieci kontradyktoryjne (GAN): czym one są?
- 31. Jak wybierzesz liczbę neuronów i ukrytych warstw do włączenia do sieci neuronowej podczas projektowania architektury?
- 32. Jakie rodzaje sieci neuronowych są wykorzystywane w uczeniu przez głębokie wzmocnienie?
- Wnioski
Głębokie uczenie się nie jest nowym pomysłem. Sztuczne sieci neuronowe służą jako jedyna podstawa podzbioru uczenia maszynowego znanego jako uczenie głębokie.
Głębokie uczenie jest naśladownictwem ludzkiego mózgu, podobnie jak sieci neuronowe, ponieważ zostały stworzone, aby naśladować ludzki mózg.
Tak było już od jakiegoś czasu. W dzisiejszych czasach wszyscy o tym mówią, ponieważ nie mamy tak dużej mocy obliczeniowej ani danych, jak teraz.
W ciągu ostatnich 20 lat głębokie uczenie się i uczenie maszynowe pojawiły się w wyniku dramatycznego wzrostu wydajności przetwarzania.
Aby pomóc Ci przygotować się na wszelkie pytania, z którymi możesz się spotkać, szukając wymarzonej pracy, ten post poprowadzi Cię przez szereg pytań dotyczących głębokiej rozmowy kwalifikacyjnej, od prostych do skomplikowanych.
1. Czym dokładnie jest głębokie uczenie?
Jeśli uczestniczysz w głęboka nauka wywiad, bez wątpienia rozumiesz, czym jest głębokie uczenie się. Ankieter oczekuje jednak, że udzielisz szczegółowej odpowiedzi wraz z ilustracją w odpowiedzi na to pytanie.
Aby trenować sieci neuronowe w przypadku uczenia głębokiego należy używać znacznych ilości uporządkowanych lub nieustrukturyzowanych danych. Aby znaleźć ukryte wzory i cechy, wykonuje skomplikowane procedury (np. odróżnia wizerunek kota od psa).
2. Co odróżnia Deep Learning od Machine Learning?
Jako gałąź sztucznej inteligencji znana jako uczenie maszynowe, szkolimy komputery za pomocą danych oraz technik statystycznych i algorytmicznych, aby z czasem stawały się coraz lepsze.
Jako aspekt uczenie maszynowe, głębokie uczenie imituje architekturę sieci neuronowych obserwowaną w ludzkim mózgu.
3. Jakie jest twoje obecne rozumienie sieci neuronowych?
Sztuczne systemy znane jako sieci neuronowe bardzo przypominają organiczne sieci neuronowe znajdujące się w ludzkim ciele.
Korzystanie z techniki, która przypomina sposób, w jaki ludzki mózg funkcji, sieć neuronowa to zbiór algorytmów, których celem jest zidentyfikowanie leżących u podstaw korelacji w danych.
Systemy te zdobywają wiedzę dotyczącą konkretnego zadania, wystawiając się na szereg zbiorów danych i przykładów, a nie stosując się do jakichkolwiek reguł dotyczących zadania.
Pomysł polega na tym, że zamiast wstępnie zaprogramowanego zrozumienia tych zbiorów danych, system uczy się cech odróżniających od danych, którymi jest zasilany.
Trzy warstwy sieciowe najczęściej używane w sieciach neuronowych to:
- Warstwa wejściowa
- Ukryta warstwa
- Warstwa wyjściowa
4. Czym dokładnie jest perceptron?
Neuron biologiczny znajdujący się w ludzkim mózgu jest porównywalny z perceptronem. Perceptron odbiera wiele sygnałów wejściowych, które następnie przeprowadzają liczne przekształcenia i funkcje i wytwarzają dane wyjściowe.
W klasyfikacji binarnej wykorzystywany jest model liniowy zwany perceptronem. Symuluje neuron z różnymi wejściami, z których każdy ma inną wagę.
Neuron oblicza funkcję używając tych ważonych danych wejściowych i wyprowadza wyniki.
5. Czym dokładnie jest głęboka sieć neuronowa?
Głęboka sieć neuronowa to sztuczna sieć neuronowa (ANN) z kilkoma warstwami między warstwą wejściową i wyjściową (DNN).
Głębokie sieci neuronowe to sieci neuronowe o głębokiej architekturze. Słowo „głębokie” odnosi się do funkcji z wieloma poziomami i jednostkami w jednej warstwie. Bardziej dokładne modele można tworzyć, dodając coraz większe warstwy, aby uchwycić większe poziomy wzorów.
6. Czym dokładnie jest wielowarstwowy perceptron (MLP)?
Warstwy wejściowe, ukryte i wyjściowe są obecne w MLP, podobnie jak w sieciach neuronowych. Jest zbudowany podobnie do perceptronu jednowarstwowego z jedną lub kilkoma warstwami ukrytymi.
Binarne dane wyjściowe perceptronu jednowarstwowego mogą klasyfikować tylko klasy liniowe separowalne (0,1), podczas gdy MLP może klasyfikować klasy nieliniowe.
7. Jaki cel pełnią funkcje aktywacyjne w sieci neuronowej?
Funkcja aktywacji określa, czy neuron powinien aktywować się na najbardziej podstawowym poziomie. Każda funkcja aktywacji może przyjąć jako dane wejściowe ważoną sumę wejść plus odchylenie. Funkcje aktywacji obejmują funkcję kroku, Sigmoid, ReLU, Tanh i Softmax.
8. Czym dokładnie jest zejście gradientowe?
Najlepszym podejściem do minimalizacji funkcji kosztu lub błędu jest opadanie gradientowe. Celem jest znalezienie lokalnie-globalnych minimów funkcji. Określa ścieżkę, którą model powinien podążać, aby zminimalizować błąd.
9. Czym dokładnie jest funkcja kosztu?
Funkcja kosztu to metryka pozwalająca ocenić, jak dobrze działa Twój model; czasami nazywa się to „stratą” lub „błędem”. Podczas propagacji wstecznej jest używany do obliczania błędu warstwy wyjściowej.
Wykorzystujemy tę niedokładność, aby przyspieszyć procesy szkoleniowe sieci neuronowej, przepychając je z powrotem przez sieć neuronową.
10. W jaki sposób głębokie sieci mogą przewyższać płytkie?
Ukryte warstwy są dodawane do sieci neuronowych oprócz warstw wejściowych i wyjściowych. Pomiędzy warstwą wejściową i wyjściową płytkie sieci neuronowe wykorzystują pojedynczą warstwę ukrytą, podczas gdy głębokie sieci neuronowe wykorzystują wiele poziomów.
Płytka sieć wymaga kilku parametrów, aby móc dopasować się do dowolnej funkcji. Głębokie sieci mogą lepiej odpowiadać funkcjom nawet przy niewielkiej liczbie parametrów, ponieważ obejmują kilka warstw.
Głębokie sieci są obecnie preferowane ze względu na ich wszechstronność w pracy z dowolnym typem modelowania danych, niezależnie od tego, czy chodzi o rozpoznawanie mowy czy obrazu.
11. Opisz propagację w przód.
Dane wejściowe są przesyłane wraz z wagami do ukrytej warstwy w procesie znanym jako propagacja przekazywania.
Dane wyjściowe funkcji aktywacji są obliczane w każdej zakopanej warstwie, zanim przetwarzanie będzie mogło przejść do następnej warstwy.
Proces rozpoczyna się w warstwie wejściowej i postępuje do ostatecznej warstwy wyjściowej, stąd nazwa propagacja do przodu.
12. Co to jest propagacja wsteczna?
Gdy wagi i obciążenia są dostosowywane w sieci neuronowej, propagacja wsteczna jest używana do zmniejszenia funkcji kosztu poprzez obserwację zmian wartości.
Zrozumienie gradientu na każdej ukrytej warstwie ułatwia obliczenie tej zmiany.
Proces, zwany propagacją wsteczną, rozpoczyna się w warstwie wyjściowej i przechodzi wstecz do warstw wejściowych.
13. W kontekście głębokiego uczenia się, jak rozumiesz obcinanie gradientu?
Przycinanie gradientu to metoda rozwiązywania problemu eksplodujących gradientów, które pojawiają się podczas wstecznej propagacji (stan, w którym znaczne nieprawidłowe gradienty gromadzą się w czasie, co prowadzi do znacznych korekt wag modelu sieci neuronowej podczas uczenia).
Eksplodujące gradienty to problem, który pojawia się, gdy gradienty stają się zbyt duże podczas treningu, co powoduje niestabilność modelu. Jeśli gradient przekroczył oczekiwany zakres, wartości gradientu są przesuwane element po elemencie do wstępnie zdefiniowanej wartości minimalnej lub maksymalnej.
Obcinanie gradientu zwiększa stabilność numeryczną sieci neuronowej podczas uczenia, ale ma minimalny wpływ na wydajność modelu.
14. Jakie są funkcje Softmax i ReLU?
Funkcja aktywacji o nazwie Softmax generuje wyjście w zakresie od 0 do 1. Każde wyjście jest dzielone tak, że suma wszystkich wyjść wynosi jeden. W przypadku warstw wyjściowych często stosuje się Softmax.
Rektyfikowana jednostka liniowa, czasami znana jako ReLU, jest najczęściej używaną funkcją aktywacji. Jeśli X jest dodatnie, wyprowadza X, w przeciwnym razie wyprowadza zera. ReLU jest regularnie nakładany na zakopane warstwy.
15. Czy model sieci neuronowej można trenować z wszystkimi wagami ustawionymi na 0?
Sieć neuronowa nigdy nie nauczy się wykonywać danego zadania, stąd nie jest możliwe wytrenowanie modelu poprzez inicjalizację wszystkich wag na 0.
Pochodne pozostaną takie same dla każdej wagi w W [1], jeśli wszystkie wagi zostaną zainicjowane na zero, co spowoduje, że neurony iteracyjnie uczą się tych samych cech.
Nie tylko inicjowanie wag na 0, ale na dowolną formę stałej prawdopodobnie da wynik poniżej normy.
16. Co odróżnia epokę od partii i iteracji?
Różne formy przetwarzania zbiorów danych i techniki opadania gradientu obejmują wsad, iterację i epokę. Epoka obejmuje jednorazową sieć neuronową z pełnym zbiorem danych, zarówno w przód, jak i w tył.
Aby zapewnić wiarygodne wyniki, zestaw danych jest często przesyłany kilka razy, ponieważ jest zbyt duży, aby można go było przekazać w jednej próbie.
Ta praktyka polegająca na wielokrotnym przesyłaniu niewielkiej ilości danych przez sieć neuronową jest określana jako iteracja. Aby zagwarantować, że zestaw danych pomyślnie przechodzi przez sieci neuronowe, można go podzielić na kilka partii lub podzbiorów, co jest znane jako przetwarzanie wsadowe.
W zależności od wielkości zbioru danych, wszystkie trzy metody — epoka, iteracja i wielkość partii — są zasadniczo sposobami wykorzystania algorytm opadania gradientu.
17. Czym są normalizacja i porzucanie partii?
Dropout zapobiega nadmiernemu dopasowaniu danych poprzez losowe usuwanie zarówno widocznych, jak i ukrytych jednostek sieciowych (zwykle porzucając 20 procent węzłów). Podwaja liczbę iteracji wymaganych do uzyskania zbieżności sieci.
Normalizacja wejść w każdej warstwie tak, aby średnia aktywacja wyjścia wynosiła zero i odchylenie standardowe równe jeden, normalizacja wsadowa jest strategią zwiększania wydajności i stabilności sieci neuronowych.
18. Co odróżnia stochastyczne opadanie gradientowe od opadania wsadowego?
Gradient wsadowy:
- Kompletny zestaw danych jest używany do konstruowania gradientu dla gradientu wsadowego.
- Ogromna ilość danych i powoli aktualizujące się wagi utrudniają konwergencję.
Stochastyczne opadanie gradientowe:
- Gradient stochastyczny wykorzystuje pojedynczą próbkę do obliczenia gradientu.
- Ze względu na częstsze zmiany masy, zbiega się znacznie szybciej niż gradient partii.
19. Dlaczego uwzględnienie nieliniowości w sieciach neuronowych ma kluczowe znaczenie?
Bez względu na to, ile jest warstw, sieć neuronowa będzie zachowywać się jak perceptron przy braku nieliniowości, czyniąc wyjście liniowo zależnym od wejścia.
Innymi słowy, sieć neuronowa z n warstwami i m ukrytymi jednostkami oraz liniowymi funkcjami aktywacji jest równoważna liniowej sieci neuronowej bez ukrytych warstw iz możliwością wykrywania wyłącznie granic separacji liniowej.
Bez nieliniowości sieć neuronowa nie jest w stanie rozwiązywać skomplikowanych problemów i dokładnie kategoryzować danych wejściowych.
20. Czym jest tensor w głębokim uczeniu się?
Tablica wielowymiarowa zwana tensorem służy jako uogólnienie macierzy i wektorów. Jest to kluczowa struktura danych dla głębokiego uczenia się. N-wymiarowe tablice podstawowych typów danych służą do reprezentowania tensorów.
Każdy składnik tensora ma ten sam typ danych i ten typ danych jest zawsze znany. Możliwe, że znany jest tylko fragment kształtu — a mianowicie, ile jest wymiarów i jak duży jest każdy z nich.
W sytuacjach, gdy dane wejściowe są również całkowicie znane, większość operacji daje w pełni znane tensory; w innych przypadkach formę tensora można ustalić tylko podczas wykonywania grafu.
21. Jak wybrałbyś funkcję aktywacji dla modelu uczenia głębokiego?
- Zastosowanie liniowej funkcji aktywacji ma sens, jeśli wynik, którego należy się spodziewać, jest rzeczywisty.
- Funkcja Sigmoid powinna być używana, jeśli wyjście, które ma być prognozowane, jest binarnym prawdopodobieństwem klasy.
- Funkcji Tanh można użyć, jeśli przewidywany wynik zawiera dwie klasyfikacje.
- Ze względu na łatwość obliczeń funkcja ReLU ma zastosowanie w wielu sytuacjach.
22. Co masz na myśli mówiąc CNN?
Głębokie sieci neuronowe, które specjalizują się w ocenie obrazów wizualnych, obejmują splotowe sieci neuronowe (CNN lub ConvNet). Tutaj, zamiast w sieciach neuronowych, w których wektor reprezentuje dane wejściowe, dane wejściowe są obrazem wielokanałowym.
Perceptrony wielowarstwowe są wykorzystywane w CNN w szczególny sposób, który wymaga bardzo niewielkiego przetwarzania wstępnego.
23. Jakie są liczne warstwy CNN?
Warstwa konwolucyjna: Warstwa główna to warstwa konwolucyjna, która ma wiele uczących się filtrów i pole receptywne. Ta początkowa warstwa pobiera dane wejściowe i wyodrębnia ich cechy.
Warstwa ReLU: Dzięki temu, że sieci stają się nieliniowe, warstwa ta zamienia ujemne piksele w zero.
Warstwa puli: minimalizując ustawienia przetwarzania i sieci, warstwa puli stopniowo minimalizuje przestrzenny rozmiar reprezentacji. Pule maksymalne to najczęściej używana metoda łączenia.
24. Jakie są skutki nadmiernego i niedostatecznego dopasowania i jak możesz ich uniknąć?
Jest to znane jako nadmierne dopasowanie, gdy model uczy się zawiłości i szumu w danych uczących do punktu, w którym ma to negatywny wpływ na wykorzystanie przez model świeżych danych.
Jest to bardziej prawdopodobne w przypadku modeli nieliniowych, które są bardziej adaptowalne podczas uczenia się funkcji celu. Model można wytrenować do wykrywania samochodów osobowych i ciężarowych, ale może być w stanie identyfikować tylko pojazdy o określonej formie pudełka.
Biorąc pod uwagę, że został przeszkolony tylko na jednym typie ciężarówki, może nie być w stanie wykryć ciężarówki z platformą. Na danych uczących model działa dobrze, ale nie w rzeczywistym świecie.
Niedopasowany model odnosi się do takiego, który nie jest wystarczająco wyszkolony na danych lub nie jest w stanie uogólniać nowych informacji. Dzieje się tak często, gdy model jest trenowany z niewystarczającymi lub niedokładnymi danymi.
Dokładność i wydajność są zagrożone przez niedopasowanie.
Ponowne próbkowanie danych w celu oszacowania dokładności modelu (walidacja krzyżowa K-krotna) i wykorzystanie zestawu danych walidacyjnych do oceny modelu to dwa sposoby uniknięcia przesadnego i niedostatecznego dopasowania.
25. Czym w głębokim uczeniu się jest RNN?
Rekurencyjne sieci neuronowe (RNN), powszechna odmiana sztucznych sieci neuronowych, nazywana jest skrótem RNN. Są one wykorzystywane między innymi do przetwarzania genomów, pisma ręcznego, tekstu i sekwencji danych. Do niezbędnego szkolenia RNN stosują propagację wsteczną.
26. Opisz Adam Optimizer
Optymalizator Adam, znany również jako pęd adaptacyjny, to technika optymalizacji opracowana do obsługi hałaśliwych sytuacji z rzadkimi gradientami.
Oprócz zapewniania aktualizacji według parametrów w celu szybszej zbieżności, optymalizator Adam zwiększa zbieżność poprzez pęd, zapewniając, że model nie zostanie uwięziony w punkcie siodełka.
27. Głębokie autoenkodery: czym one są?
Autoenkoder głęboki to zbiorcza nazwa dla dwóch symetrycznych sieci głębokich przekonań, które zazwyczaj zawierają cztery lub pięć płytkich warstw dla kodującej połowy sieci i kolejny zestaw czterech lub pięciu warstw dla połowy dekodującej.
Warstwy te tworzą podstawę głębokich sieci przekonań i są ograniczane przez maszyny Boltzmanna. Po każdym RBM głęboki autokoder stosuje zmiany binarne do zestawu danych MNIST.
Mogą być również używane w innych zestawach danych, w których transformacje rektyfikowane Gaussa byłyby preferowane w stosunku do RBM.
28. Co oznacza Tensor w Tensorflow?
To kolejne regularnie zadawane pytanie podczas rozmowy kwalifikacyjnej na temat głębokiego uczenia się. Tensor to pojęcie matematyczne, które jest wizualizowane jako tablice wyższych wymiarów.
Tensory to te tablice danych, które są dostarczane jako dane wejściowe do sieci neuronowej i mają różne wymiary i rankingi.
29. Wyjaśnienie grafu obliczeniowego
Podstawą TensorFlow jest konstrukcja grafu obliczeniowego. Każdy węzeł funkcjonuje w sieci węzłów, gdzie węzły oznaczają operacje matematyczne, a krawędzie tensory.
Czasami określa się go mianem „Wykresu przepływu danych”, ponieważ dane przepływają w postaci wykresu.
30. Generatywne sieci kontradyktoryjne (GAN): czym one są?
W Deep Learning modelowanie generatywne odbywa się za pomocą generatywnych sieci kontradyktoryjnych. Jest to praca nienadzorowana, w której wynik jest uzyskiwany poprzez identyfikację wzorców w danych wejściowych.
Dyskryminator służy do kategoryzowania instancji generowanych przez generator, podczas gdy generator służy do tworzenia nowych przykładów.
31. Jak wybierzesz liczbę neuronów i ukrytych warstw do włączenia do sieci neuronowej podczas projektowania architektury?
Biorąc pod uwagę wyzwanie biznesowe, dokładna liczba neuronów i ukrytych warstw potrzebnych do skonstruowania architektury sieci neuronowej nie może być określona przez żadne twarde i szybkie reguły.
W sieci neuronowej rozmiar warstwy ukrytej powinien znajdować się gdzieś pośrodku rozmiaru warstwy wejściowej i wyjściowej.
Przewagę w tworzeniu projektu sieci neuronowej można jednak osiągnąć kilkoma prostymi metodami:
Rozpoczęcie od kilku podstawowych systematycznych testów, aby sprawdzić, co najlepiej sprawdzi się dla dowolnego określonego zestawu danych w oparciu o wcześniejsze doświadczenia z sieciami neuronowymi w podobnych warunkach rzeczywistych, to najlepszy sposób na sprostanie każdemu unikalnemu wyzwaniu w zakresie modelowania predykcyjnego w świecie rzeczywistym.
Konfigurację sieci można wybrać na podstawie wiedzy o domenie problemu i wcześniejszego doświadczenia z siecią neuronową. Oceniając konfigurację sieci neuronowej, dobrym punktem wyjścia jest liczba warstw i neuronów wykorzystywanych do rozwiązywania powiązanych problemów.
Złożoność sieci neuronowej powinna być stopniowo zwiększana w oparciu o przewidywane wyniki i dokładność, zaczynając od prostego projektu sieci neuronowej.
32. Jakie rodzaje sieci neuronowych są wykorzystywane w uczeniu przez głębokie wzmocnienie?
- W paradygmacie uczenia maszynowego zwanym uczeniem wzmacniania, model działa tak, aby zmaksymalizować ideę skumulowanej nagrody, tak jak robią to żywe rzeczy.
- Gry i samojezdne pojazdy są opisywane jako problemy związane uczenie się wzmacniania.
- Ekran jest używany jako dane wejściowe, jeśli problemem, który ma być reprezentowany, jest gra. Aby wytworzyć dane wyjściowe dla kolejnych faz, algorytm pobiera piksele jako dane wejściowe i przetwarza je za pośrednictwem wielu warstw splotowych sieci neuronowych.
- Rezultaty działań modelu, zarówno korzystne, jak i złe, działają jako wzmocnienie.
Wnioski
Głębokie uczenie zyskało na popularności na przestrzeni lat, dzięki zastosowaniu praktycznie w każdym obszarze przemysłu.
Firmy coraz częściej poszukują kompetentnych ekspertów, którzy potrafią zaprojektować modele replikujące ludzkie zachowanie przy użyciu metod uczenia głębokiego i uczenia maszynowego.
Kandydaci, którzy zwiększą swoje umiejętności i utrzymają znajomość tych nowoczesnych technologii, mogą znaleźć szeroki wachlarz możliwości pracy z atrakcyjnym wynagrodzeniem.
Możesz zacząć od wywiadów teraz, gdy już wiesz, jak odpowiadać na niektóre z najczęściej zadawanych pytań podczas rozmowy kwalifikacyjnej do głębokiego uczenia się. Zrób następny krok w oparciu o swoje cele.
Odwiedź Hashdork Seria wywiadów przygotować się do rozmów kwalifikacyjnych.
Dodaj komentarz