Lesson 1 ディープラーニングを始めるための、Python基礎文法入門:機械学習&ディープラーニング入門(Python編)
一般的にディープラーニングはPython言語で開発する。実際に開発でよく使うPython言語の基本文法を厳選し、それらを図解で解説していく連載の初回である今回は、Python言語のバージョンについて説明する。
ご注意:本記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「deepinsider.jp」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
はじめに
【これを学ぼう】Pythonの基礎文法
ディープラーニングのプログラムって、Python言語で作るんだよね?
そうよ。今日からはプログラミングの基本的な考え方も含めて、Pythonの基礎中の基礎の文法を説明していくね。
読者対象
- 初めてディープラーニングや機械学習を学び始めるが、プログラミングも初めて学ぶ方
学習内容
ディープラーニングのモデルを作成するためのプログラムは、Pythonを使って開発するのが一般的だ。そのPython言語の基礎文法を、本当によく使うものに絞って解説する。
本連載は、「プログラミングがまったくの未経験で、知識ゼロの状態から、すばやくディープラーニングの実践に入りたい人」を意識して書いている。つまり、文法解説としては、必要最低限のラインを狙っており、逆にデメリットを見ると「完ぺきではない」と言える。
「Python言語の文法をしっかりと丁寧に学びたい」という人は、『Python入門連載』やPython言語の公式リファレンスなど、完全な文法解説(Web上の連載や紙の書籍など)を活用することをお勧めする。もちろん本稿でざっと概要を学んでから、本格的に別の連載や書籍に当たるというのでもよいだろう。
実行環境
本連載は、Pythonコードを手元で実行しながら、読み進めることを想定している。
Pythonの実行環境についてあまり知らないという人は、『Google Colaboratory入門』を、プログラミング自体も初めてという方は、『機械学習&ディープラーニング入門(コンピューター概論編)』を一読しておくことをお勧めする。
Pythonコードの実行環境としては、Google Colaboratory(以下、Google Colab)を用いる。Google Colabは、インタラクティブシェルを活用したノートブック形式のオンラインPython実行環境で、(2018年12月時点では)誰でも無償で利用できる。初心者や学習者にはうってつけの環境である。
Python言語のバージョンは3系を使うことを想定している。Pythonのバージョンについては、本稿で解説する。
デモとサンプルコード
本連載のすべてのサンプルコードは、下記のリンク先で実行もしくは参照できる。
基本的には自分の手を動かしながらコードを書くことをお勧めするが、時間節約のために簡単にコードを実行しながら学びたいという方は、上記のGoogle Colabのノートブックを開いて、それを自身のGoogleドライブにコピーしてほしい(具体的には、Google Colabのメニューバーにある[ファイル]メニューの[ドライブにコピーを保存]をクリックすればよい)。コピー後のノートブックを上から順に実行していき、分からないところだけ、本連載の本文を参照すれば、より短時間で文法を学べるだろう(※ただし、現時点ではすべてのサンプルコードはまだそろっていない。本連載が完結してはじめてそろう予定なので、この手順を実行するには3月ごろまで待ってほしい)。
本連載のゴール
Pythonによるディープラーニングの実装を学び始めたときに、「ディープラーニングの理解の前に、そもそもPythonコードそのものが何をやっているか分からない……」と戸惑ってしまわないためには、どのくらいの基礎知識を身に付けておけばよいだろうか?
この疑問に対する解答を、本連載は、ライブラリ「TensorFlow」の公式チュートリアルのサンプルコードの読み方が、ある程度分かるレベルに達すること、と定義した。
具体的には、以下の図1-a/b/c/dのコードが読めるし、意味も理解できようになることが、本連載の最終的なゴールである(※各図のコードは、2018年10月時点のもの。公式チュートリアルの内容やコードは頻繁に更新されており、読者が本稿を読むときには違うコードになっている可能性が高いので注意してほしい)。
Python言語が使いこなせるようになるには
ただし、筆者の経験から言っても、コードを読めるようになったからといって、自分でコードがスラスラと書けるレベル、すなわち「Pythonプログラミングができるレベル」にすぐに達するわけではない。Python言語の文法書などを参考にしながら何とかコードが書けるようになるのが1〜数週間後、自信を持ってPython言語を使いこなせるようになるのが1〜数カ月後、といった期間がかかることが一般的だ。その理由は、プログラミングには知識の定着と慣れが、ある程度必要だからである。
だからといって、じゃあ数カ月かけてマスターしてください、と言うつもりはない。とりあえず、Python言語の文法を一通り学習&体験したら、あとはOJT(オン・ザ・ジョブ・トレーニング)的にディープラーニングのサンプルプログラムなどを書き写したりする中で、分からない部分があれば自分で調べたり勉強し直したりしながら、Python言語を徐々に体得していけばよい。いわゆる「習うより慣れろ」形式の学習スタイルである。
Python言語の基礎文法
それではさっそく、基礎文法についての説明を開始しよう。まず今回は、Python言語のバージョンについて説明する。
Python言語のバージョン
Python言語のバージョンには、次の2つの系統がある。
- バージョン2系(最新:2.7)[※2020年1月1日よりサポート終了]
- バージョン3系(最新:3.7)
当然、バージョン3系が新しく、冒頭の「実行環境」でも示したように、本連載ではそちらを利用する(※なお、「最新」としたバージョン番号は2018年12月時点のもの。最新のバージョン番号については、Python.orgの公式ダウンロードページなどを参考にしてほしい)。
Python言語の文法仕様は2系と3系で一部互換性がない。よって本連載の基礎文法の解説は「3系でのみ通じる話」となっているので注意してほしい。
ただし、何らかの理由で2系を利用せざるを得ない場面もあるかもしれない。そこで、2系の実行環境であっても、3系の文法をある程度使えるようにする方法について、Lesson 13で説明する*1(※全18レッスンの予定)。
*1 ここですぐに説明しない理由は、3系の文法を有効化するためのコードを何行か書く必要があるためだ。そのコードの内容・意味を説明するには、事前に、ある程度の基礎文法を理解しておかなければならない。
Google ColaboratoryでのPython 3選択
Copyright© Digital Advantage Corp. All Rights Reserved.