得屋(FP2級 × AIエンジニアのブログ)

FP資格を持つAIエンジニアならではの、お得情報をお届けします

MENU

株価予想AIの作り方 Tips 学習時間の短縮方法

f:id:mycrofton:20201014161555j:plain

目次

はじめに

本記事では、株価を予想するAI(人工知能)の作り方を紹介しています。

前回までの記事で、作り方について一通り紹介しましたので、今回からは、AIを作る上で役立つ情報を Tips として発信していきたいと思います。

役立つ情報のその1は、AI学習時間の短縮についてです。

なお、対象としている方は、AIやプログラムに馴染みのない方を想定しています。詳しい方にとっては、説明に正確性を欠くと感じる部分もあるかと思いますが、なるべく平易な書き方にしたいと考えたためですので、ご容赦ください。

学習時間短縮の必要性

実際にAIの学習を実施していただいている方には言うまでもないことかもしれませんが、AI学習には非常に時間がかかります。

特に自前のパソコンにGPUという機器が搭載されていない場合は、学習に数日程度かかってしまうこともざらではありません。

自宅のパソコンを長時間動作させることに抵抗がある方も多いと思います、そこで今回は、AIの学習時間を短縮する方法を紹介します。

google colaboratoryを活用しよう

AIの学習を短期間で実施するためには、google colaboratoryというgoogleのサービスを利用します(google colabと省略されることがあります)。

google colaboratoryは、無償で使用可能なpythonの実行環境です。さらに、GPUという機器を使ってpythonのプログラムを動作させることができるため、自宅のパソコン(GPUが搭載されていないもの)に比べて、AIの学習を高速に実行することができます。

google colaboratoryを使うためには、googleのアカウントが必要になります。もし持っていない方は、アカウントを作成してください。

google colaboratoryにログインする

google colaboratoryを使うためには、ログインする必要があります。

 https://colab.research.google.com/?hl=ja (google colaboratory)

にアクセスして、googleのアカウントでログインしてください。

f:id:mycrofton:20201014111740j:plain

ノートブックを作る

ログインすると以下のような画面が表示されます。

f:id:mycrofton:20201014112606j:plain

プログラムはノートブックというものに記載して実行しますので、『ノートブックを新規作成』をクリックし、ノートブックを作成します。

ノードブックを作成したら、ノートブックに自分の好きな名前をつけましょう。画面左上、『Untitled0.ipynb』と記載されている部分をクリックすると、自分の好きな名前に変更することができます。

f:id:mycrofton:20201014113123j:plain

たとえば、『stock_ai』変更すると以下のようになります。

f:id:mycrofton:20201014113259j:plain

ランタイムの設定を変更する

ノートブックを作成したあとは、ランタイムの設定を変更する必要があります。ランタイムとは、ノートブックに記載したプログラム(pythonのプログラム)の実行環境の設定です。この設定を適切に行わないと、AIの学習時間短縮はできませんので、必ず設定を行ってください。

設定方法は、『ランタイム』をクリックし、その後現れるメニューから『ランタイムのタイプを変更』をクリックします。

f:id:mycrofton:20201014150215j:plain

f:id:mycrofton:20201014150224j:plain

そして、『ハードウェアアクセラレータ』から、『GPU』を選択し、保存します。

f:id:mycrofton:20201014150609j:plain

プログラミングする

ランタイムの設定が終わったら、さっそくプログラミングしてみましょう。

プログラミングは、ノートブックの以下の欄に行います。

f:id:mycrofton:20201014150850j:plain

上記欄をクリックすると文字が入力できるようになります。使えるかを確かめるために、簡単なプログラムを書いてみましょう。

たとえば、

print('TEST')

と記入してみてください。

f:id:mycrofton:20201014151211j:plain

プログラムを実行する

プログラミングが終わったら、実行してみましょう。実行するには、プログラムを記入した欄の左にあるボタンをクリックします。

f:id:mycrofton:20201014151400j:plain

正しく実行されると、プログラムを記述した欄の下に『TEST』と表示されます。

f:id:mycrofton:20201014151517j:plain

万が一、『TEST』と表示されない場合は、エラーが起きている可能性があります。プログラムが正しいか、など、改めて確認してください。

AIを学習させてみる

基本的な設定と動作確認が終わったので、AIを学習させてみましょう。

データを準備する

AIを学習させるためには、データを準備する必要があります。以下の過去記事で作成したような株価のローソク足チャート画像を用意します。
mycrofton.hatenablog.com

ここでは、過去記事と同様にdataというフォルダにchartフォルダが存在し、そのchartフォルダの下にupフォルダとdownフォルダが入っているフォルダで説明していきます。(upフォルダとdownフォルダにローソク足チャート画像が入っています)

f:id:mycrofton:20201014152929j:plain

dataフォルダをzipに圧縮します。zipに圧縮するためには、dataフォルダを右クリックし、『送る(N)』をクリック、『圧縮 (zip 形式) フォルダー』を選択します。

f:id:mycrofton:20201014154339j:plain

zipデータが用意できたら、google colaboratoryで使用できるようにデータを転送します。

まずは、『ファイル』をクリックします。

f:id:mycrofton:20201014152529j:plain

現れたファイルエリアにデータの入ったフォルダをドラッグ&ドロップします。(data.zipファイルをドラッグ&ドロップします)

f:id:mycrofton:20201014153101j:plain

少し時間がかかるかもしれませんが、待ってください。google colaboratoryにデータが送れたら以下のようにファイルエリアにdata.zipが表示されているはずです。

f:id:mycrofton:20201014155225j:plain

zipファイルのままではAI学習プログラムでデータを読み込めないため、zipデータを元のフォルダ構成のデータに戻します。

プログラムの記載エリアに

!unzip data.zip

と入力し、実行してください。

f:id:mycrofton:20201014155202j:plain

正しく実行完了すると、ファイルエリアにdataフォルダが生成されます。

f:id:mycrofton:20201014155519j:plain

もし、生成されていないようであれば、ファイルエリアの『更新』ボタンをクリックしてみてください。以下のアイコンのものです。

f:id:mycrofton:20201014155646j:plain

以上で、データの準備は完了です。

AIを学習させる

データの準備が終わったので、AIの学習を行います。

AI学習プログラムを作成しましょう。『+コード』と書かれているメニューをクリックしてください。プログラムするための欄が1つ増えたと思います。

f:id:mycrofton:20201014155937j:plain

増えたプログラム欄に作成済みのAI学習プログラムをコピーしてください。AI学習プログラムは以下の過去記事で作成したものです。
mycrofton.hatenablog.com

コピーが終わったら、さっそく実行してみましょう。自分のパソコンで実行したときと同じような処理結果が表示されると思います。

f:id:mycrofton:20201014160401j:plain

いかがでしょうか。だいぶ学習が進む速度が速くなったのではないかと思います。もし、学習速度にあまり違いがないのであれば、ランタイムの設定に不備がある可能性があります。ランタイムの設定にてハードウェアアクセラレータが『GPU』と設定されているか確認してください。

学習結果の使い方

学習結果として生成されるファイルは過去記事で紹介したものと同様です。ファイルエリアに表示されているはずですので参照してください。

学習結果として出来上がったファイルはダウンロードして自分のパソコンで使用することができます。したがって、『chart.xx.h5』(xxには数字が入ります)をダウンロードすることで、以下の過去記事で紹介した株価予想は自分のパソコンで実行することができます。

mycrofton.hatenablog.com

注意事項など

google colaboratoryを使うことで学習速度は大幅に向上する方も多いと思いますが、google colaboratoryの使用においては、いくつか注意事項があります。

注意事項1

google colaboratory使用時はブラウザを起動しておく必要があります。ブラウザを閉じてしまうと、実行中のプログラムは処理が終了し、結果ファイルは破棄されてしまいます。

注意事項2

連続使用可能な時間は12時間まで。google colaboratoryを長時間使い続けることはできません。最大12時間ほどでプログラムが終了されるようになっています。学習が12時間で終わらない場合は、一工夫必要になりますので、注意してください。

まとめ

google colaboratoryを使ったAI学習時間の短縮について紹介しました。google colaboratoryの使い方については、必要最小限のみを紹介しています。別の言い方をすると、便利な使い方はいろいろありますので、興味のある方は調べてみてください。機会があれば記事にもまとめてみたいと思います。