落ちこぼれエンジニアの憂鬱

個人的に気になるお金儲け、テック情報をわかりやすくお伝えします

システム開発 ウハウハプロジェクト

今更ですが、ラズパイでディープラーニングを勉強し始めました

投稿日:2018年5月27日 更新日:

半年ほど前、久しぶりにラズパイを引っ張り出してセットアップまでしたのですが、なんとなくやる気が起きず、そのまま放置しておりました。。。

これではいけないと、少し反省して、ビットコインFX自動売買システム(別名、ウハウハプロジェクト)について、ちょっと真剣に考えてみました。

そして、今はディープラーニングを勉強中です。

自動売買のシステム基盤を作るのは簡単、問題はアルゴリズム

ビットフライヤーAPIを使えば、マーケット情報の取得、売買などは簡単に構築できます。

問題はその売買アルゴリズムをどうするかです。

このブログでも自慢していたように、去年の前半ぐらいまではFXの手動売買でもそれなりに稼げていました。

そのときは、その手法をそのままプログラム化すればいけるかも?と思っていたのですが、やはり甘かったです。

ここ最近はFXで負けが続き、今年の戦績はついにマイナスまで落ち込んでしまいました。

今でも、FXでコツコツと稼ぐことはできるのですが、損切りの判断がイマイチ甘く、ときたま大きなダメージを食らってしまいます。

この損切りだけでもキチンとプログラムできれば、うまく稼げそうな気もしているのですが、ちょっと自信がありませんでした。

 

といって、このまま放置していても何も始まらないので、取りあえず切っ掛けを掴むため、先週ぐらいからディープラーニングを勉強しています。

今更感はあるのですが、うまく学習させることができれば、まだまだFXでも勝機はあると思っています。

ただ、機械学習に対する私の知識が圧倒的に足りていないので、今、猛勉強中です。

調査ごとには、Kindle Unlimitedはものすごく便利

最近では、ネットで検索すれば大抵のことは見つかるのですが、見つかる情報は断片情報が多く、基礎知識が無い状態だとものすごく辛いです。

そこで、最近、私はKindle Unlimitedをフル活用しています。

《参考記事》 Kindle Unlimitedを7ヵ月間使ってみて「おすすめ具合」をまとめてみました

Kindle Unlimitedでは、対象本が少なくて使えないとよく言われるのですが、実際に検索してみると、どんな分野でも取りあえず何冊かはリストアップされます。

確かにクズ本も多いのですが、あまり吟味もせずに片っ端からダウンロードして読めるところがUnlimitedの最大のメリットです。

もし、それがクズ本だったら、即削除して次の本を読み始めるだけです。

 

今回、Kindle Unlimitedで機械学習関連の本を探してみると、意外にたくさんありました。

  • ビジネスで使う機械学習
  • よくわかるディープラーニングの仕組み
  • マンガでわかる人工知能
  • PyTorchで学ぶニューラルネットワークと深層学習
  • Thinking Machines  機械学習とそのハードウェア実装 (NextPublishing)
  • AIは考えない-人工知能の現実: ディープラーニング、機械学習、ニューラルネットワーク.IT初心者の入門書 CAMBRIC
  • Pythonで実装、はじめての機械学習: 単純パーセプトロン、ニューラルネットワーク、ディープラーニング

今、読み漁っているところで、先週は3冊ほど読んでみました。(1冊はほとんど読まずに削除しました。。。)

 

そして、その分野がだいたい分かってきたところで、まだ足りないようならそのとき、改めて本を買うようにしています。

ただ、最近はUnlimitedだけで事足りることも多く、本を買うことがめっきりと少なくなってきました。

ある程度、その分野の知識が付けば、後はネットで調べまくって知識を増やしていくパターンです。

特にプログラミングなどは、本を読んでいるだけでは絶対にマスターできません。最後は、実際にやってみないとスキルが上がらないのです。

とりあえず、ラズパイにTensorFlowをインストール

最終目標はFX自動売買なので、とりあえずラズパイで動かしたいと思っています。

また、ディープラーニングのオープンソースと言えば、GoogleのTensorFlowが一番初めに出てくるので、とりあえず、これから勉強することにしました。

そこで、さっそくサンプルプログラムを動かしてみようと、さっきやってみると案外簡単に実行できました。学習済みのサンプルを動かしただけなので、当然なのですが。。。

 

こちらのブログを参考にさせてもらい、その通りにやるとあっという間でできました。

私の環境は、以前に作ったものです。

  • Raspberry Pi 2 Model B
  • Ubuntu MATE 16.04

《参考記事》 ラズベリーパイにUbuntu MATEをインストール、日本語化でちょっと躓きました

これに以下のディープラーニングソフトをインストールするだけです。

  • TensorFlow(Googleの機械学習オープンソースライブラリ)

その他、インストールしておいた方がよいライブラリということで、以下も一緒に入れておきました。(いくつかは既にインストール済みでした)

  • keras(上記を使いやすくラッピングしたもの。最新のTensorFlowには含まれているようなのですが、今回はTensorFlow1.1を使ったので別途インストールが必要)
  • Open CV/PIL(画像処理ライブラリ)
  • pandas/matplotlib(グラフ作成ライブラリ)

TensorFlowは自前でビルドするとものすごく時間がかかるらしいので、今回は、Githubに公開されているラズパイ用のTensorFlow1.1バイナリをインストールします。

$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl
$ sudo pip uninstall mock
$ sudo pip install mock

$ sudo apt install python-imaging
$ sudo apt install libopencv-dev
$ sudo apt install python-opencv

$ sudo apt install python-pandas
$ sudo apt install python-matplotlib

$ sudo apt install python-h5py
$ sudo pip install keras

 

途中で、pip(Pythonのパッケージ管理システム)からバージョンが古いと言われたので、言われるがままにバージョンアップしたところ、pipが使えなくなり焦りました。。。

You are using pip version 8.1.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

ネットで調べても中々わからなかったのですが、どうも新しいバージョンではpipのインストールディレクトリが変更されており、キャッシュ削除しないといけなかったみたいです。

以下のコマンドを叩くと復旧しました。お気を付け下さい。

hash -d pip

TensorFlowの公式サイトでお勉強

先ほどのブログでは、公式サイトのチュートリアルで勉強するのが最強とありました。

《公式サイト》 Tutorials

まだ、全然お勉強できていないのですが、とりあえず、今回はサンプルアプリを一つ動かしてみました。

Image Recogitionという画像認識ライブラリで、サンプルではパンダの画像認識をやってます。

$ git clone https://github.com/tensorflow/models
$ python models/tutorials/image/imagenet/classify_image.py

結果:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

scoreが0.89107で見事にパンダと認識しました。ただ、実行に50秒近くかかります。
また、「–image_file」で他の画像を指定できるので、試しに、ネットでライオンの画像を落としてきてやってみると、キチンとライオンと認識しました。

lion, king of beasts, Panthera leo (score = 0.91605)

動物の認識率はさすがにすばらしいです。

ちなみに、以下はまったくダメでした。なぜか、hair spray (score = 0.36358) 「ヘアースプレー」と認識されました。

たぶん、対象物が小さすぎるのでしょう。それにしてもなぜ、ヘアースプレーなのか?

まとめ

ディープラーニングについては、まだ全くの素人なのですが、中々面白そうです。

昔々、大学生の頃にはニューロン学習も勉強したことがあるのですが、今とはまったく違いますね。

とりあえず、自分で機械学習できるところまで早く持っていきたいです。

 

あと、ラズパイももう少し有効活用したいので、電子工作キットでも買ってみようかと思っています。

アマゾンで調べていると、いろんなセンサーが安く売られているので、なんだかワクワクしてきますね。子供の頃にハマっていた電子工作が懐かしいです。

-システム開発, ウハウハプロジェクト
-, , , ,

関連記事

ビットコインの自動取り引きでウハウハ!!プロジェクト始動です

「ビットコイン取引で儲けたよ!」と昨日も自慢したのですが、今年に入ってから、ビットコインでの儲け方について色々と研究し、ここに来てようやく、少しずつ儲けれるようになってきました。 《参考》 今日のビッ …

ラズベリーパイにUbuntu MATEをインストール、日本語化でちょっと躓きました

昨日の決意表明もあって、前からブログで公言していたウハウハプロジェクトをやっとこさ進めることにしました。 《参考記事》 ビットコインの自動取り引きでウハウハ!!プロジェクト始動です まずは、環境構築か …

サイト内の検索

管理人の「スノーホーク」です。

ムーミン谷の「スナフキン」や、北斗の拳の「雲のジュウザ」のように、シガラミにとらわれず、飄々と生きることを日々目標にしています。

少し前、務めている会社が経営破たん寸前まで追い込まれ、リストラの嵐に遭遇しました。

知り合いがたくさん辞めていく中、個人的には首を切られるところまではいかなかったのですが、あとちょっとで会社が潰れるところでした。

それまで、特に転職などは考えていなかったのですが、必然的に会社が潰れた後、どうやって生きていくかをを真剣に考えるようになりました。

そんな背景もあって、まずは会社以外の収入源確保のためとスキルアップも兼ねて、アフィリエイトを始めたのが4年前です。

ラッキーにも、2年でソコソコの収入を得るまでになったのですが、Google様の逆鱗にふれ、下降曲線まっしぐらです。

詳細は以下の記事に詳しく書いておりますので、よかったら読んであげてください。

《ご参考》 アフィリ初心者のご参考にアフィリエイトサイト運用歴を公開-諦めたらそこで終わりです

 

このブログサイトでは、アフィリ以外にも投資やネットのテック情報について、忘備録も兼ねてまとめてます。