ディープラーニングの様々な要素
ディープラーニングには、
- 理論的枠組み
- エンジニアリング
- 社会やビジネスへの応用
といった多角的な視点から、多くの要素があります。
今日は、
- ディープラーニング学習のロードマップ
- 関連資格
を参考に、ディープラーニングにはどんな要素があるのか、見ていきます。
ロードマップと資格
ディープラーニングに興味関心がある時に、
- 全体を俯瞰するのであれば書籍
- それぞれの領域での詳細や最新情報を知りたい場合は論文
などに取り組むことで、理解が進みます。
一方で、ディープラーニングを構成する要素にはどんなものがあるのか、
という疑問には簡単には答えられないと思います。
そこで、ここでは、ロードマップと資格から、ディープラーニングを構成する要素がどのように認識されているのか見ていきます。
ロードマップ
ディープラーニングの学習のためのロードマップはいくつか提案されています。
学習のロードマップとは、学習計画のようなものです。
Machine Learning Roadmap 2020
Machine Learning Roadmap 2020は、機械学習のロードマップであり、ディープラーニングの要素確認に使用できます。
AI Expert Roadmap
データサイエンティスト、機械学習、AI関連の専門家になるためのロードマップです。
ディープラーニングの学習ロードマップのパートがあり参考にできます。
Deep Learning Papers Reading Roadmap
Deep Learning Papers Reading Roadmapは、は、読むべき論文という視点から、まとめられたリストです。
2020年付近のディープラーニングの状況はあまり更新されていませんが、2012年から2016年といった社会にディープラーニングが急速に認知されていった期間の論文が多く紹介されています。そのため、現在のディープラーニングの基本要素を知る時に参照できるかと思います。
TensorFlowのWebサイト
TensorFlowのWebサイトにある、「学習カリキュラムをマスターする」という項目では、ディープラーニングの各要素について説明されています。
Deep Learning Beginners
DeepLearning4JのDeep Learning Beginnersでは、ディープラーニング初学者向けの学習ロードマップを公開しています。
関連資格
ディープラーニングの資格として、日本ディープラーニング協会は、
を運営しています。
G検定は、ディープラーニングの基礎知識や活用に関する検定です。
E検定は、ディープラーニングの理論、手法、実装に関する検定です。
これらの検定は、試験範囲であるシラバスが公開されています。
G検定のシラバスには、2021年2月時点で、
- 機械学習の具体的手法
- ディープラーニングの概要
- ディープラーニングの手法
- ディープラーニングの応用に向けて
といった領域を含む、いくつかのカテゴリが提示されています。
E検定のシラバスには、2021年2月時点で、
- 応用数学
- 機械学習
- 深層学習
などを含むいくつかの範囲が示されています。
これらのシラバスは、ディープラーニングの要素を理解するために活用できます。
ディープラーニングの各要素
ここまでに紹介した各種ロードマップや資格試験のシラバスなどを参考に、
- 数学
- プログラミング
- 機械学習
- ディープラーニングの基礎
- 開発運用 / 応用分野
という5つのカテゴリでディープラーニングの要素を見ていきます。
数学
ディープラーニングの理論やアルゴリズム研究、開発には多くの場合、数学や関連分野が使われています。
- 微分
- 線形代数
- 確率 / 統計
- 情報理論
などがサブカテゴリとして考えられます。
取り掛かりとしては、Web上に無料で公開されているディープラーニングの教科書
『Deep Learning』Ian Goodfellow, Yoshua Bengio, Aaron Courville
の、Part I: Applied Math and Machine Learning Basicsが選択肢になるかと思います。
日本語訳は書籍として販売されています。
プログラミング
ディープラーニングを実際に自分で試してみたい、と思った時にプログラミングのスキルがあると安心です。
- Pythonの基礎
- 各種ライブラリの扱い方
などが要素として挙げられます。
ディープラーニングの実装は、JavaやR言語でも可能ですが、Pythonが使われることが多いです。
その場合には、1からディープラーニングをプログラミングで組み立てていく、という方法に加えて、ライブラリやフレームワークが多く活用されます。
ライブラリやフレームワークは、再利用可能なツールのようなものであり、これらを使用することで、ディープラーニング構築がより円滑に行えます。
Pythonには、ディープラーニングに使用できるライブラリがいくつかあります。TensorFlowとPyTorchが広く知られています。
機械学習
機械学習は、様々なデータから自動で何かしらの規則や基準などを学習、その学習に基づいて色々な事象の予測や判断を行うアルゴリズムや技術、です。
ディープラーニングは機械学習の一部とされており、機械学習の基礎的な要素は、ディープラーニングの理解につながると言えるでしょう。
- 教師あり学習
- 教師なし学習
- 強化学習
などが機械学習の要素として考えられます。
この3つの区分に分けられる機械学習のアルゴリズムは多数あります。
Pythonの機会学習ライブラリとして広く知られているscikit-learnのWebサイトに、各種アルゴリズムの解説とサンプルコードがあります。
ディープラーニングの基礎
最も基礎の範囲に目を向けた場合にも、ディープラーニングの理論やアルゴリズム研究開発は急速に発展しており、
全体像を把握するのは簡単ではないと思います。
ここでは、多くのロードマップを始めとするリソースで言及が多いものを中心に挙げます。
- 活性化関数
- 正則化
- 事前学習
- 最適化
- 順伝播型ネットワーク
- 誤差逆伝搬法
- 畳み込みネットワーク (CNN)
- 回帰結合型ニューラルネットワーク (RNN)
- 生成モデル
- 深層強化学習
などが考えられます。
先に紹介した、『Deep Learning』Ian Goodfellow, Yoshua Bengio, Aaron Courvilleに加え、
『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』斎藤 康毅 著
生成モデルに関しては、『生成 Deep Learning ―絵を描き、物語や音楽を作り、ゲームをプレイする』David Foster 著, 松田 晃一 翻訳, 小沼 千絵 翻訳
深層強化学習に関しては、『つくりながら学ぶ!深層強化学習 PyTorchによる実践プログラミング』小川 雄太郎 著
などが、取り掛かりの候補になるかと思います。
開発運用 / 応用分野
ここまでの要素を踏まえて、ディープラーニングの開発運用と社会 / ビジネスへの応用は確実に広がりを見せています。
- GPUの取り扱い
- 軽量化技術
- 分散学習
- 音声認識
- 画像処理
- 自然言語処理
- 医療分野への応用
- 金融分野への応用
- MLOps
などが要素として考えられます。
GPUやその活用については、NVIDIAのWebサイトが、
軽量化技術に関しては、ディープラーニングモデルの新たな軽量化技術を開発 (OKI)
分散学習は、分散深層学習とモデル並列性 (Preferred Networks)
が参考になるかと思います。
ディープラーニングの応用に関しては、別の記事で紹介したAI白書やGoogle CloudのWebサイトが参考になります。
気になる部分から着手する
ここまで見てきたようにディープラーニングの要素は、多岐に渡ります。
- 多すぎて着手するのに躊躇する
- 選択肢が多すぎて取り掛かるのが難しい
などの場合は、今日紹介した要素の中から、気になった箇所、興味が出た部分に注目する方法をお勧めします。
多様な領域にまたがるディープラーニングは、興味関心の持ち方も人それぞれです。
- 医療分野での画像処理にディープラーニングがどのように活用されているのか
- 機械翻訳に使われるディープラーニングの自然言語処理技術にはどんなものがあるのか
- エッジデバイスでのディープラーニング応用のための軽量化技術には何があるのか
- 近年注目を集めている、ディープラーニングのアルゴリズムにはどんなものがあるのか
- ディープラーニングの理論的枠組みを理解するために、数学に取り組みたい
など様々あると思います。
その関心に合わせて、ディープラーニングについて調べていくと、周辺領域への理解も深まり、徐々に把握できる範囲が広くなっていくかと思います。
ディープラーニングに関する一般的なWebの記事や書籍を読む、という取り組み方に加えて、興味が出た要素から集中的に見ていく、という方法もお勧めです。
ディープラーニングの全体像を把握した時とは違った印象を持つかもしれません。
コメント