850
Help us understand the problem. What are the problem?

posted at

機械学習エンジニアに爆速でなるための教材集

0. はじめに

昨今のAI、DXブームの影響で、機械学習、深層学習(ディープラーニング, Deep Learning) への注目は増すばかりですが、初学者の方にとって機械学習を学ぶハードルは依然高い状態かと思います。
機械学習、特にディープラーニングを習得するには学ぶべきことが多く、また分野によっては難易度が高いということもあり、学んでいる途中で挫折してしまうという人も多いという印象があります。

そこで本記事では、これから機械学習を学びたい方が自学自習する際の助けになるようにと、有用な自習コンテンツをまとめました。

本記事では、機械学習エンジニアとして実務に参画できるレベルを目指して、コンテンツを収集しました。よって機械学習の理論やライブラリに加え、社会実装する上で付随して必要となるソフトウェアエンジニアリングのスキルも含めています。
コンテンツについては、適宜追記していく予定です。

対象読者

これから機械学習を学びたいと考えているすべての方。

完全に初心者の方もこの記事で紹介しているコンテンツを実際に手を動かし取り組み、理解することで、機械学習エンジニアとして必要なスキルの土台を身につけることができると思います。 また、機械学習やディープラーニングの概要を理解したい、勉強したいという方にとっても参考になるかと思います。

※ 厳密には、機械学習エンジニア、データサイエンティスト、データエンジニアなど機械学習に関わる仕事についても職種が細分化されてきています。各職種によって必要なスキルも変わってくると思いますが、どの職種でも学習しておいて損はないコンテンツを集めるように心がけました。

1. 人工知能と社会実装

人工知能の概要

人工知能とは?という人向け

機械学習エンジニアの仕事

機械学習の実務に興味がある人向け

2. プログラミングのスキル

マインドセット

Python

プログラミング完全初心者

3. 機械学習、深層学習、データサイエンス

データサイエンス

機械学習を行う上でデータを処理したり可視化するスキルは必須。Numpy、Pandas、Matplotlibは習得しておくと良い。

機械学習

いわゆる非ディープの機械学習に関してのコンテンツ。基本書を読みながら、scikit-learnやLightgbmなどを使って学習・推論をできることを目指し、必要に応じて理論を勉強していくというステップがおすすめ。「パターン認識と機械学習」という書籍は初学者にはかなり難易度高い。

ディープラーニング

深層学習、ディープラーニングの学習コンテンツ。ゼロから作るDeep Learningで実際に手を動かしながらディープラーニングの概要を理解し、その上でPyTorchなどのフレームワークを実際に触って、とにかく手を動かすと良い。

その他

4. 論文

学会

たくさんあるので、以下のリンク参照。

論文探し

  • Google Scholar
    • 言わずと知れたGoogleが提供している論文検索サービス(最重要)
    • 普通にGooleで検索するという手もあり
  • arXiv
    • ディープラーニング関連の論文が多く公開されている
  • arXivTimes
    • 機械学習の論文共有のためのリポジトリ。日本語で参加できる。
  • Papers with Code
    • コードでの実装付きの論文がまとまっている
  • CiNii
    • 日本語で書かれた論文を探す場合
  • Deep Learning JP
    • 東大松尾研で行われいてる論文の輪読会の資料

論文の読み方

以下などが参考になる。

5. ソフトウェアスキル

機械学習の実装をする上で、必ずソフトウェアエンジニアスキルが必要になるので、同時並行で勉強しておくと良い。各社のエンジニア研修資料も参考になる。

エディタ

色々なエディタがあるが、特に使われるのが以下の印象。

Linux

Git, Github

共同開発する上で必要なスキル。

クラウド、仮想化

DB(データベース)

コンピューターサイエンスに関する海外の講義

かなりまとまっている海外有名大学の講義。エンジニアの入り口としてかなり有用なコンテンツ。

6. その他

YouTube

コンペ

コンペに参加している人はやはり強い人が多い。 「これを知る者はこれを好む者に如かず。これを好む者はこれを楽しむ者に如かず。」ですね。

プログラミングスクール

  • 42Tokyo
    • 完全無料のエンジニア養成機関。入学試験が難しいことで有名。 C言語を中心に学ぶので基礎的なプログラミング力やエンジニアリング力を上げるのに良い。

各社のエンジニア研修資料

数学、基礎統計

7. まとめ

諸々をまとめていくうちに、だいぶボリューミーになりましたが、これから機械学習を勉強したいという方の参考になれば幸いです。
※記事内に誤りや改善点、あるいはリンクを掲載してほしくないなどのご要望があればご連絡いただければと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
850
Help us understand the problem. What are the problem?