Pythonや機械学習(ディープラーニング)を学ぶための学習リソースとして、@IT/Deep Insider上にある連載(技術解説記事)を、「Python」「開発環境」「数学/統計/データサイエンス」「ディープラーニング/機械学習」という4つの分野で紹介する(全18連載)。
この記事は2023年以前の古い記事です。最新の記事が下記のリンク先にあります。
初心者向け、データ分析・AI・機械学習・Pythonの勉強方法 @ITのDeep Insiderで学ぼう
今や世の中には、Pythonや機械学習(特にディープラーニング)を学ぶための日本語の学習リソースは数多くある。例えば
など、さまざまな学習リソースがある。その中でも、
は、Pythonや機械学習が学べる無料の「技術解説記事」を専門的に展開している(珍しい)メディアである(図1)。
Deep Insiderは@IT上に2019年6月18日から展開を開始した。今日からあと約2カ月で2年目を迎える。しかし既に200本以上の記事を公開しており、しかも本サイト「@IT」上に公開されている「Python/機械学習」関連のコンテンツを含めると、コンテンツ数は非常に膨大である。例えると「広大な森の中で目的の木を探すのは大変だ」と想像できるように、膨大なコンテンツを有する@IT内で、読者が目的とするコンテンツを探すのは簡単ではないだろう。
そこで本稿では、筆者が考える「読んでおくべき@IT連載」を「読み進めるべき順番」で紹介する。特に「ゴールデンウィーク期間中に、Pythonや機械学習を学んでスキルアップしたい」という人に向けて書いたので、そう考えている人が参考にしていただけるとうれしい。本サイトで自分に合ったコンテンツを見つけたら、冒頭に挙げたように学習コンテンツは数多くあるので、それらの学習教材と組み合わせながら完全に理解できるように勉強していくのがお勧めである。
本稿ではまず、@IT全体におけるPythonや機械学習の連載コンテンツを、下記の4種類に分けて紹介していく。
その後で、
について紹介する。さっそく説明を始めよう。
機械学習や深層学習(ディープラーニング)を学び始めるには、プログラミング言語「Python」の知識が要求されることが多い。Pythonが未経験であれば、まずはPythonを学ぶことをお勧めしたい。
Pythonについては、深層学習系の書籍の第1章〜など前半にまとめられていることも多い。Deep Insiderでは、網羅的に学べる教科書型のコンテンツを展開している(図2)。
また、もっと効率的に素早く学びたい人に向けて、チートシート型の短い解説記事も用意している(図3)。このチートシートは、PDFの電子書籍でも提供しているので、ぜひ活用してほしい。
大学でコンピューターサイエンスの基礎を学んでいないという人には、さらに基礎的なコンピューターの話を解説している下記の連載に先に目を通すことをお勧めする(図4)。
Pythonで実際の開発を始めるためには、その開発環境についても知っておく必要がある。「機械学習&ディープラーニング環境構築入門 - @IT」では、比較的高度なUbuntu上での開発環境の構築方法を紹介しているが、機械学習を学ぶだけであればここまでする必要はなく、取りあえずはGoogle Colaboratory(Jupyter Notebookのオンライン版互換環境)を利用すればよい。その方法を紹介しているのが、次の連載である(図5)。
Google Colaboratoryではなく、コードエディターを使って開発するケースもある。そのような必要がある場合は、次の連載をお勧めする(図6)。
また、Pythonをターゲットとしてより実践的なVisual Studio Codeの活用法をレクチャーする次の連載も参考になるだろう。
機械学習を理解しようとすると、数学(微分積分と線形代数)や統計学を学ぶ必要がある、とよく言われる。これは事実で、より具体的に例えばニューラルネットワークの仕組みを理解しようとすると、数学を使って説明/理解した方が明確で厳密になる。また、機械学習の手法(重回帰分析やクラスター分析、サポートベクターマシンなど)は、統計学が基盤になっている。その統計学自体が数学の集大成のような学問領域である。よって、機械学習の勉強と平行して、まずは数学から勉強(あるいは大学時代に勉強した内容の復習)を日々コツコツと進めることをお勧めしたい。
Deep Insiderでは、数学の基礎の基礎から復習できる連載を展開している(図8)。ちなみに筆者自身も数学のブランクが10年以上あったので、最初に中学数学&高校数学全般を復習した上で、微分積分と線形代数を勉強するという大きな回り道をした(例えるなら、海外生活を10年以上して日本語をしゃべらないと日本語を忘れていくように、読者の皆さんが思っている以上に基礎的なことを忘れているはずだ。筆者の場合、数学検定の5級〜準1級が中学〜高校の数学範囲なので、まずはこの過去問が解けるように勉強した。自分の数学力を念のため試したい場合は、こちらの過去問題を解いてみるとよい)。この連載では、そんな大回りをしなくても、必要最小限の基礎的な数学を1つの連載内でまとめて学べるように考慮されており、特に「数学に自信がない」「数学から10年以上遠ざかっている」という人にはお勧めである。
ただし、この連載はまだ完結しておらず、完結するまでに約1年はかかる見込みだ。よって、連載の進行に合わせて1年かけてじっくりと学ぶようなスタイルをお勧めしたい。
Deep Insiderの連載ではないが@IT内に、次の数学連載も存在する(図9)。機械学習に直結するテーマで数学や統計学が解説されているので、機械学習と数学のつながりを意識しながら数学を復習したい人にお勧めだ。
統計学の領域は広範に渡っており、1つの連載で全てを解説するというのは非常に難しい。よって、必要に応じて必要な箇所だけを情報収集して学んでいくことをお勧めしたい。統計学を基礎から学びたいという人は、ぜひ統計検定の2級以上合格を目指して情報収集するとよい。統計検定2級以上に合格すると、機械学習がより分かりやすくなるのも事実なので、余裕がある場合はぜひチャレンジしてみてほしい。
Deep Insiderの連載ではないが@IT内に、R言語を絡めた統計解析の連載がある(図10)。これだけで統計学自体を基礎から学べるわけではないが、統計学の基礎知識がある人にとってはRの使い方が学べる。
統計解析とデータ分析の領域はかぶっている(また、データ分析と機械学習の領域もかぶっている)。よって、「データ分析およびデータサイエンス」についても、ここの「数学/統計」の関連セクションとして紹介しておく。
Deep Insiderの連載ではないが@IT内に、次のデータサイエンス連載がある(図11)。特にデータサイエンティストの視点から機械学習を学びたい人にお勧めしたい。
Deep Insiderは機械学習エンジニアの視点でコンテンツを展開することを念頭に置いている。現時点では深層学習を中心に配信しているが、そろそろコンテンツが一通りそろってくる予定なので、2年目となる6月以降は深層学習以外の「機械学習」コンテンツも展開していく予定である。
「人工知能やディープラーニングって何?」という基礎の基礎から学びたい人は、次の連載をお勧めする(図12)。この連載についても、PDFの電子書籍を提供しているので、ぜひ活用してほしい。なお、この連載は最新事情に合わせて改訂を(数カ月以内に)予定している。
Deep Insiderの連載ではないが@IT内に、次のディープラーニング連載がある。2015年と少し古いが、ディープラーニングをより具体的に概観できるので、上記の連載と併せて一読してみてほしい。
ディープラーニングの概要を学んだら、実際に自分の手でディープラーニングを動かしてみるとよい。「ニューラルネットワーク Playground - Deep Insider」を使うと、ディープラーニングを前提知識なしで簡単に動かして体験できる。この特徴を生かして、活性化関数や最適化などの意味や挙動を図解で説明しているのが、次の連載の第1回〜第3回である(図14)。同時にTensorFlow+Kerasでの実装方法を紹介している。ちなみにこれらの内容は今後、PDFの電子書籍として提供予定である。
さらに、より詳細かつ丁寧に基礎からディープラーニングを学べる連載も提供しているので、ディープラーニングの挙動を学んだ後は、知識として本格的に身に付けるために、次の連載を読み進めるのをお勧めする(図15)。この連載ではPyTorchによる実装方法を紹介している。
ただし、この連載もまだ完結しておらず、完結するまでに約半年はかかる見込みだ。よって、連載の進行に合わせて半年かけて学ぶようなスタイルをお勧めしたい。
さて、PyTorchとTensorFlowの2種類のライブラリがここまでの説明で出てきた。このどちらを使って学ぶべきかの選択は現時点では悩ましく、研究目的や将来性ならPyTorchかなと思う一方で、Twitterのツイート数などを眺めていると、実際の活用数ではTensorFlowが多い印象である。どちらか一方が圧倒的な地位を独占する段階にはなっていないので、現時点では両方を学んで両方使いこなせるのが好ましいだろう。
PyTorchの使い方については、次の連載でまとめられている(図16)。PyTorchが初めての人で、公式チュートリアルだと難しく感じた人に特にお勧めである。
TensorFlowの使い方については、次の連載でまとめられている(図17)。TensorFlowでは書き方が複数あり紛らわしいが、それらを整理してまとめている。TensorFlowでコードを書き始める前に、ぜひとも一通り目を通しておいてほしい資料でもある。
ディープラーニングの基本的な書き方などを理解したら、より実践的な問題に取り組みたいところである。最近1年ほどで、ディープラーニングの人気分野がコンピュータービジョン(画像認識や画像生成など)から自然言語処理に移ってきている。ディープラーニングのニュースに詳しければBERTという単語を聞いたことがあるだろう。
自然言語処理の入門としてお勧めしたいのが次の連載である(図18)。なお、@ITの連載ではあるがDeep Insiderの連載ではない。
さらに多くの「ディープラーニングの実践」に挑みたい場合には、次の連載内容を試してみてほしい(図19)。
ここまでは入門者向けのお勧め連載について説明した。これら以外にも、記事コンテンツはあるが、今回紹介するのはここまでの全18連載までとする。
Deep Insider内には、上記の連載紹介に含めていない記事が多数ある。それらをどうやって探せばよいかを紹介して本稿を終わりとしたい。
図20を見ると分かるように、新着記事(最新の5本)は中央の[TOP STORIES]に表示される。また、左枠にはDeep Insider内の全ての記事の一覧ページや、用語やデータセットの辞書ページへのリンクが掲載されている。辞書内のコンテンツは粛々と拡充中である。
図21を見ると分かるように、本稿で紹介しきれなかった連載も含めて各種連載が[お勧め連載]枠の中に、(基本的に)基礎から応用の順に並べられている。上から順に読み進めていくのがお勧めである。
また、[Deep Insider 記事ランキング]では、Deep Insider内で人気のある記事が分かる。前述した「Python入門」「数学入門」「ディープラーニング入門(概要編)」「PyTorch入門」「TensorFlow 2入門(ディープラーニング仕組み理解×初実装)」「ディープラーニング工作室」あたりが定番の人気記事である。
以上、気になる連載はあっただろうか。本稿が「機械学習の“脱”初心者」を目指す人の何かの役に立てていればうれしい。
Copyright© Digital Advantage Corp. All Rights Reserved.