Jaki jest najlepszy sposób na naukę uczenia maszynowego bez podejmowania kursów online?

Ten artykuł ma więcej niż 4 lata.

Jaki jest najlepszy sposób na rozpoczęcie nauki uczenia maszynowego i głębokiego uczenia się bez podejmowania jakichkolwiek kursów online? pierwotnie pojawił się na Quora: the place to gain and share knowledge, empowering people to learn from others and better understand the world.

Answer by Eric Jang, Research engineer at Google Brain, on Quora:

Let me first start off by saying that there is no single „best way” to learn machine learning, and you should find a system that works well for you. Niektórzy ludzie wolą strukturę kursów, inni lubią czytać książki w swoim tempie, a niektórzy chcą nurkować prosto w kod.

Zacząłem od kursu Andrew Ng’s Machine Learning Coursera w 2012 roku, znając prawie zero algebry liniowej i nic o statystyce lub uczeniu maszynowym. Zauważ, że chociaż klasa obejmowała sieci neuronowe, nie był to kurs na Deep Learning. Naprawdę podobało mi się, jak kurs sformułował „uczenie maszynowe” jako nic więcej niż optymalizację numeryczną.

Jeśli kursy online są dla ciebie zbyt powolne, najlepszym skonsolidowanym zasobem jest prawdopodobnie książka Deep Learning autorstwa Goodfellow, Bengio i Courville. Ma kilka rozdziałów poświęconych podstawom (coś w rodzaju tego, co jest objęte klasą Ng), a następnie przeskakuje do praktycznych DNNs.

Statystyczne/matematyczne rygorystyczne tło nie jest wymagane do wykonywania użytecznej pracy Deep Learning, ale naprawdę pomaga formułować hipotezy na temat tego, dlaczego modele są / nie działają i co może pomóc. Podręcznik Murphy’ego Probabilistic Machine Learning jest świetnym fundamentem dla matematycznie rygorystycznego ML (i ma też świetne diagramy!)

Po ukończeniu książki DL, możesz „specjalizować się” w jednym z poddziedzin / poddziedzin Deep Learning, wdrażając niektóre z dokumentów samodzielnie. Kilka przykładowych tematów:

  • Bayesian Deep Learning (łączenie sieci neuronowych z modelami grafowymi)
  • Deep Reinforcement Learning (AlphaGo, Atari-playing AI, Robotyka)
  • Modele generatywne (GANs, PixelCNN, VAEs)
  • Metody awersyjne (GANs, Actor-Critic)
  • Teoria głębokiego uczenia
  • Wizja komputerowa
  • NLP/mowa (tłumaczenie, podpisywanie, modele seq2seq)
  • Rozumowanie symboliczne (np.g. proof-solving)
  • Recurrent Neural Networks (np. LSTMs, pamięć zewnętrzna, uwaga)
  • Aplikacje (rozwiązywanie problemów specyficznych dla danej dziedziny, takich jak klasyfikowanie raka, składanie białek, czytanie z ruchu warg z wideo)
  • Meta-learning / learning-to-learn (Synthetic Gradients, Pathnet)

Pole Deep Learning dramatycznie się rozszerzyło w ciągu ostatnich kilku lat, do punktu, w którym nie jest realistyczne, aby zagłębić się we wszystkie poddziedziny Deep Learning w krótkim czasie. Polecam nurkowanie głęboko w jednym konkretnym podpolu, a następnie staje się łatwiejsze do nauki innych podpolach po opanowaniu jednego obszaru. Te pola nie mają już tak wiele wspólnego, poza tym, że wszystkie wykorzystują ekspresyjną moc głębokiego uczenia się do uczenia się zadań end-to-end, i są ogólnie eksperymentalne (raczej niż teoretyczne Computer Science).

W dzisiejszych czasach, najbardziej interesujące dokumenty na temat głębokiego uczenia są dostarczane z publicznie dostępną implementacją w TensorFlow, Pytorch, Torch, Keras lub Theano, więc jednym ze sposobów, w jaki możesz szybko zbudować intuicję, jest sprawdzenie, czy możesz poprawić istniejący model (np. zrobić lepszy ResNet).

Prawdopodobnie nie powinieneś implementować własnego pakietu sieci neuronowych w Pythonie od zera. Jest to dużo pracy, aby uzyskać małe szczegóły w prawo (na przykład, zobacz ten komentarz o tym, jak operacja softmax jest zaimplementowana w TensorFlow).

Deep Learning frameworki są złożone i zajmują trochę czasu, aby się nauczyć, a najszybszym sposobem na opanowanie frameworka DL jest wdrożenie wymagającej architektury sieci neuronowej, która ćwiczy niejasne cechy frameworka lub pomysły z wielu dziedzin DL. Niektóre zalecenia dotyczące trudnych architektur / potoków szkoleniowych:

  • Sieci progresywne
  • DenseNet
  • Syntetyczne gradienty
  • Neuronowe maszyny Turinga
  • Embed-to-Control
  • Neuronowe tłumaczenie maszynowe

Na koniec, mnóstwo naukowców uczenia maszynowego są na Twitterze i Reddit Machine Learning społeczności jest miły sposób, aby uzyskać najnowsze wiadomości na temat sieci neuronowych. Pole jest bardzo konkurencyjne i porusza się naprawdę szybko, więc pomaga pozostać na bieżąco.

To pytanie pierwotnie pojawiło się na Quora. miejsce do zdobywania i dzielenia się wiedzą, upoważniając ludzi do uczenia się od innych i lepszego zrozumienia świata. Możesz śledzić Quorę na Twitterze, Facebooku i Google+. Więcej pytań:

  • Uczenie maszynowe: Jak trudno jest zmotywowanemu naukowcowi zbudować zautomatyzowany system transakcyjny z domu?
  • Programowanie komputerowe: Jak rozpoznać początkującego programistę?
  • Uczenie się: Jak mogę myśleć szybciej i lepiej?
Otrzymuj to, co najlepsze z Forbes do swojej skrzynki odbiorczej z najnowszymi spostrzeżeniami ekspertów z całego świata.

Quora: miejsce do zdobywania i dzielenia się wiedzą, dające ludziom możliwość uczenia się od innych i lepszego rozumienia świata.

Ładowanie …

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.