近年、テスラの自動運転やAmazonのAlexaといったAI関連のニュースをよく目にするようになりましたが、これらのニュースを見てAIに興味をもち自分でも何か作ってみたいと考えるようになった方がいるでしょう。
そんな方にお勧めなのがGoogle Colaboratoryです。
今のAIにはDeep Learningという技術が使われていて、Deep Learningを行うためにはそれなりのマシンスペックが必要になってきますが、Google Colaboratoryを使えばスペックの心配をする必要はありませんし、必要な環境は全て揃っていて初心者の方でもすぐにAIプログラミングを始めることができます。
本記事ではGoogle Colaboratoryの導入方法から使用方法について紹介します。
Google Colaboratoryとは
Google ColaboratoryはGoogleがDeep Learningや研究の促進を目的として提供しているサービスです。Googleのアカウントさえあれば誰でも無料で使えることができます。
Google Colaboratoryの素晴らしい点は面倒な環境構築をする必要がなく、Deep Learningを行う上で必須のGPUを無料で使えるところにあります。
ブラウザとGoogleアカウントがあれば、いきなりPythonのコードを実行することができ、Tensorflow、KerasやPyTorchといったライブラリも使用できます。
パソコンを買い替えても環境構築する必要がないので、とても便利なサービスだと思います。
使ってみる
Google Colaboratoryを使えるようにするのは簡単です。Googleにログインした状態でこちらにアクセスします。
すると、以下のページに遷移します。
次に、左上にある「ファイル」から「Python3の新しいノートブック」を選択すると、
以下のような新しいノートブックが生成されます。
Google Driveのマイドライブを確認してみてください。Colab Notebooksというフォルダが作成されていて、その中に、Untitled0.ipynbがあるはずです。


ノートブックを開くには、Untitled0.ipynbを選択すると下の画像のようになるので、下の画像の赤で囲んだところを選択すれば開くことができます。

作成されたノートブックはすでにPythonが使える状態になっています。他にもDeep Learningをする際によく使うライブラリはほとんど入っているので、すぐにAIプログラミングを始めることができます。
環境設定
使い始める前に環境の確認をします。
私はPython3とGPUを使いたいので、以下のように確認しました。

ノートブックの上のメニューにある「ランタイム」から「ランタイムのタイプの変更」を選択すると上の画面が開くので、ハードウェアアクセラレータをGPUにして保存します。
基本的な使い方
ここでは、Google Colaboratoryの基本的な使い方にいくつか書いてみます。
赤色で囲んでいるのがコードセルといい、ここにコードやコマンドを入力し、▷か「Shift+Enter」で入力したコードやコマンドを実行することができます。
コードの実行
例えばHello Worldと出力するプログラムを実行するには、以下のようにコードセルにコードを入力して実行するだけです。
シェルコマンドの実行
シェルコマンドを実行するときもコードセルに入力して実行します。
実行方法もコードを実行するときと同じです。
ライブラリの追加インストール
Google ColaboratoryにはあらかじめDeep Learningでよく使うライブラリは入っていますが、すべてのライブラリが入っているわけではないので、ライブラリを追加でインストールしたいときがあります。
ライブラリのインストールはpip install ライブラリ名
でインストールできます。以下のようにコードセル上で実行するだけです。
セルの削除
セルを削除するには、セル右端上にある赤で囲んだところを選択するか、削除したいセルを選択した状態で「Ctrl M + D」で削除することができます。
Google Drive内のファイルを使いたい
Google Colaboratoryを使っていると、自分で用意したデータセットを使いたいと思うようになると思います。
そんなときは、Google DriveにファイルをアップロードしてからGoogle Colaboratory内で設定をすることで、ファイルを読み込むことが可能になります。
方法については、以下の記事を参考にしてみてください。
Google Colaboratoryを使ってAIプログラミング
私が今まで、Google Colaboratoryを使ってきた中で、おススメの記事を載せておきます。
言語モデルを作った話
PyTorchを使って言語モデルを作ってみました。
PyTorchを使ったSeq2seqの実装した話
PyTorchを使ってSeq2seqを実装した話。
AlphaZeroを動かしてみる話
AlphaZeroをGoogle Colaboratoryで学習させてみた話。