株式自動売買とディープラーニング(ニューラルネットワーク)の話。

目次。

 

この文章を読んで、面白い!役に立った!...と思った分だけ、投げ銭していただけると嬉しいです。

ofuse.me

 

 

【宣伝】ギターも歌も下手だけど、弾き語りをやっているので、よければ聴いてください。

www.youtube.com

 

 

 

はじめに。

この文章は、1万字以上あるので、ご注意を。

 

最近、株式自動売買プログラム開発関連の文章のアクセス数がどんどん上昇している。

ありがたや、ありがたや。

blog.sun-ek2.com

 

その中でもぶっちぎりで読まれているのが、『自動株式売買プログラム開発を思い立った話。』という最初に書いた文章。

blog.sun-ek2.com

 

「どうして株式自動売買プログラム開発関連の文章のアクセス数が上昇しているのか?」…これについて、ちょっと考えてみた。

 

株式自動売買プログラム開発関連の文章は、ほとんどGoogle検索経由でアクセスされる(この文章に限らず、僕のブログの大半はGoogle検索経由)。そのため、Google Search Consoleを使って、『自動株式売買プログラム開発を思い立った話。』のGoogle検索に関する統計データを調べた(株式自動売買プログラム開発関連の文章へのアクセスの大半がこの文章なので、この文章に関するデータを調べることによって、全体が分かると思った)。

 

f:id:sun_ek2:20200714210618p:plain

オレンジ色の折れ線がGoogle検索結果一覧で何番目にこの文章が掲載されているか(掲載順位)を表している。一方、紫色はGoogle検索でこの文章が結果一覧に表示された回数(掲載回数)を表している(軸は、わざと消している。別に消さなくてもよかったが)。

 

掲載順位は、去年の9月以降、あまり変わっていない。一方、掲載回数は、去年の11月末の一過性の謎の爆上がりを除き、ほぼ低空飛行をしていたが、今年の4月から右肩上がりに上昇している。

 

つまり、最近、株式自動売買プログラム開発関連の文章のアクセス数が上昇しているのは、Google検索のアルゴリズムによって、僕の文章が評価され、検索結果の上位に掲載されるようになったのではなく、株式自動売買プログラム開発関連の文章に関するキーワードが検索される回数が増えたことが原因であると思う。

 

ちなみに「株 プログラミング 自動売買」という検索ワードから一番、株式自動売買プログラム開発関連の文章に人が流入してくる。2番目は、「スクレイピング 稼ぐ」。3番目は、「株 自動売買 python」。

 

今年の4月以降に株式自動売買プログラム開発に関連するキーワードの検索回数が増えた一因は、新型コロナウイルスだと思う。

 

 

 

プログラミング技術は、コロナ禍から生活を守る技術?

この話は、ディープラーニングとは直接関係ないが、「株式自動売買プログラム開発関連の文章のアクセス数が上昇している→コロナが原因かも?」という話をしたので、ついでに新型コロナウイルスの話を深掘りしようと思う。この文章にたどり着いた人の中には、コロナの影響で生活がヤバくなって、株式売買とかやりたいなっていう人もいると思うので。

 

昔、これに関連して『都市封鎖(ロックダウン)されるのなら家に籠ってプログラミング言語の勉強をすればいいじゃないっていう話。』という文章を書いたので、よければどうぞ。

blog.sun-ek2.com

 

上の文章でも言った通り、そして、この文章の見出しにも書いた通り、僕は、プログラミング技術は、コロナ禍から生活を守るための技術になるんじゃないかと思っている。

 

大体のことは、上の文章で書いたので、詳しくはそちらを。

 

 

 

短くまとめると…。

新型コロナウイルスによって引き起こされたパンデミックによって、会社はたくさん倒産し、たくさんの人がリストラされるだろう。また、このパンデミックによって、リモートワーク・人がやっていた業務の自動化の波が押し寄せ、それによって必要なくなった人間もリストラされるだろう。

 

この状況で、逆に繁盛するのは、IT系の会社かもしれない。リモートワーク・人がやっていた業務を自動化するのであれば、それ専用のシステム(プログラム)が必要である。そして、そのシステム(プログラム)を作るのは、プログラマである。リモートワーク・業務の自動化の需要が増大する中、そのシステムを作るプログラマは引っ張りだこになるんじゃないかと思う。

 

このパンデミックによって、色々な職種の仕事がなくなっている。芸能界なんかでも仕事がなくなっているそうで、大量の芸能人がYouTubeやインスタライブに参入してきて、生きるためにお金を稼いでる。

 

今、コロナで大打撃を受けているあなたもYouTubeとかで稼げるか?…おそらく難しいだろう。競争相手は芸能人である。人気取り商売のプロである。

 

 

 

じゃあ、どうすれば?

…ここで、おすすめなのがプログラミング。

芸能人のように知名度や人気がなく、大した才能もなく、難しい勉強が苦手な人が低い初期投資で、短期間で身に着けることができる技術がプログラミング(詳しくは、先ほどの文章を参照のこと)。

 

リモートワーク・業務の自動化の波によって、市場価値が上がるであろう技術がプログラミング技術。

 

プログラミング技術を習得するためには、実際にコードを書かないといけない。この文章を読んで、プログラミングをやりたくなった人は、株式を自動売買するプログラムを書いてみるのもいいかもしれない。きっと、プログラミングの練習に丁度いい題材であるし、上手くいけば、株式売買だけで、生きるために必要なお金を稼げるようになる。

 

 

 

宣伝:新型コロナウイルス関連の論文を一般向けに解説した文章。

さっきまで、新型コロナウイルスの話をしていたので、それに関する文章の宣伝。よければどうぞ。

 

『中国・武漢で発生した肺炎を引き起こす新型コロナウイルスのゲノム(設計図)を読んでみたという論文を読んでみた話。』は、「研究者がどうやって未知のウイルスの正体を暴くのか?」について説明した文章。

blog.sun-ek2.com

 

『新型コロナウイルス感染症(COVID-19)で話題のRCR検査の仕組みとゲノム編集技術を応用した新たな検査法をゆるふわな感じで説明してみた話。』は、PCR検査の仕組みと、それに代わるかもしれないゲノム編集技術を応用した新しい検査方法について説明した文章。

blog.sun-ek2.com

 

 

 

ディープラーニング(ニューラルネットワーク)とは?

人々のAIに対する関心が高まっていることもあり、「ディープラーニング」という言葉は、大体の人が聞いたことがあると思う。けれども論文とかでは、あんまり「ディープラーニング」という言葉は使われず、代わりに「ニューラルネットワーク」という言葉が使われる。

 

にも関わらず、僕が「ディープラーニング」という言葉をこの文章で使う理由は、一般の人の間では、「ニューラルネットワーク」という言葉よりも「ディープラーニング」という言葉の方が知られていて、検索エンジンで検索されやすい言葉だから。

Google検索結果の件数

  • ディープラーニング...約 6,400,000 件
  • ニューラルネットワーク...約 1,530,000 件

 

f:id:sun_ek2:20200714211204p:plain

パーセプトロン (https://nkdkccmbr.hateblo.jp/entry/2016/10/06/222245から引用)。

ニューラルネットワークは、その名の通り、生物の脳の神経回路からヒントを得たアルゴリズム。「パーセプトロン」という素子が複雑につながった構造をしている。パーセプトロンは、複数の入力を受け取り、その入力に「重み」をかけて、それを足し合わせる。そして、それが一定の閾値を超えると、出力を行う(神経細胞の発火)。パーセプトロンの入力は複数であるが、出力は1つ。これも神経細胞と同じ。

 

f:id:sun_ek2:20200714220649p:plain

ディープラーニング(ニューラルネットワーク)。

たくさんのパーセプトロンが並列にならぶと「層」のような構造になる。そして、ニューラルネットワークは、このパーセプトロンでできた層がたくさん並んだ構造をしている。層がたくさん並んでいることを「層が深い」といって、層がたくさん並んだニューラルネットワークを学習させることを「深層学習」という。英語にすると「Deep Learning」(ディープラーニング)。

 

ディープラーニングの構成要素であるパーセプトロンを機械学習に応用しようとする考え方は、実は1958年からあった。そこから長い長い冬の時代を過ごした後に最近、一気に脚光を浴びた。

 

 

 

「ディープラーニング(ニューラルネットワーク)と僕」の話。

僕がディープラーニング(ニューラルネットワーク)の勉強を始めたのは、修士1年の頃。修士時代は、大阪大学の情報科学研究科に所属していた。前々からディープラーニングの勉強をしたいなと思っていて、そんな時にちょうど”Practice Machine Learning”というタイトルの講義が開講されていたので、受講することにした。

 

以下のサイトから講義スライドを見ることができる。様々な機械学習のモデルが詳しく説明されていて、実際に実装しているソースコードもたくさんあるので、おすすめ。講義に加えて、分からなかったところは、徹底的にネットで調べて勉強していた。

www.suyongeum.com

 

プログラミングは、主に高校の頃に独学していた。

blog.sun-ek2.com

 

一応、Python 2も高校の頃に勉強していたが、使っていたのは、ずっとJava。けれども、この講義に登場してくるソースコードがPython 3で書かれていたので、もう一度、Pythonの勉強をした。そして、それ以降、講義以外でもPython 3を使うようになった。

blog.sun-ek2.com

 

ちなみに僕の研究分野は、ディープラーニング(ニューラルネットワーク)とは全く関係ない。生物系の分野。学部時代は、「お酒造りの科学」を研究していた学科目に所属していた。

blog.sun-ek2.com

 

 

 

ディープラーニング(ニューラルネットワーク)を使って、株式の自動売買をしようと思い立った理由。

株式の自動売買プログラムの開発を始めた時点では、ディープラーニング(ニューラルネットワーク)を絡めたプログラムを書くつもりはなかった。まあ、『自動株式売買プログラム開発を思い立った話。』では、ディープラーニング(ニューラルネットワーク)も興味ありますよっていう風に書いたが。もちろん興味は、ずっと持っている。

 

ディープラーニング(ニューラルネットワーク)を使うことを躊躇っていた理由は2つ。

1つ目の理由は、計算資源。僕は、豊富な計算資源を持っていない。大学院生の中では、僕は経済的にかなり恵まれている方だと思うが(実家から支援を受けているわけではない)、別に金持ちってわけでもない。ニューラルネットワークをゴリゴリに学習させるような高性能のGPUマシンを買う金は…ないことはないが、できることなら他に使いたい(株式購入とか)。

 

2つ目の理由は、ディープラーニング(ニューラルネットワーク)のブラックボックス感。ニューラルネットワークは、順伝播と誤差逆伝播によって、パラメータを最適化するのだが、最適化されたパラメータが一体、何を表しているのかについては、実のところ、はっきりとは分かっていない。ニューラルネットワークは、ハイパーパラメータ(層の数とか)を弄って、ひたすら学習させれば、個々の最適化されたパラメータの意味を知らなくても、難しい問題を解くことができるが、それがちょっとだけ嫌だった。できることなら、隅々まできちんと自分で説明できるアルゴリズムを書きたいという気持ちが強かった。具体的には、マルコフ連鎖モデルとか、遺伝的アルゴリズムとか、強化学習(最近は、ニューラルネットワークと融合しがち)あたりをベースに開発したいなと思っていた。後は、あまり時系列データを取り扱うイメージはないが、個人的にサポートベクターマシン(機械学習の一種)が好きだったりするので、そいつを使ったアルゴリズムとかとか。

 

けれども、こういった考えが最近、ちょっとずつ変わってきたわけで…。

 

ここからは、ディープラーニング(ニューラルネットワーク)を使いたいと思うようになった理由を3つ紹介。

 

 

 

量子ディープラーニング(量子ニューラルネットワーク)の影響。

これが一番、直接的な原因。

 

最近、量子ディープラーニング(量子ニューラルネットワーク)関連の論文を読んでいる。そして、論文を読んでいると、ディープラーニング(ニューラルネットワーク)を使って何かやりたいなって思うようになってきた。

 

このブログに、量子ディープラーニング(量子ニューラルネットワーク)関連の論文の備忘録を載せているので、よければどうぞ。備忘録なので、一般の人向けには書いていない

 

1本目~4本目の論文。

blog.sun-ek2.com

 

3本目の論文。2本目の論文は、量子機械学習の論文。量子ディープラーニング(量子ニューラルネットワーク)は、量子機械学習の一分野。

blog.sun-ek2.com

 

2本目と3本目の論文。量子ウォークニューラルネットワーク。今までのモデルとは違い通常のコンピュータで動く。厳密には、quantum-inspiredなアルゴリズム(quantum-inspiredをどう訳せばいいか分からん。量子力学の知見を取り入れたアルゴリズムのこと)。

blog.sun-ek2.com

 

ちなみに研究するとしたら、ディープラーニング(ニューラルネットワーク)ではなく、量子ディープラーニング(量子ニューラルネットワーク)をやりたいなと思っている。

 

ディープラーニング(ニューラルネットワーク)は、競争が激しすぎる。レッドオーシャン。

 

一方で、量子ディープラーニング(量子ニューラルネットワーク)は、まだまだ情報系の研究者の参入が少なく、競争は激しくない。ブルーオーシャン。

 

加えて、今のところ、量子ディープラーニング(量子ニューラルネットワーク)の研究は、「今までのディープラーニング(ニューラルネットワーク)研究でやられていたことを量子回路でも真似してみました」っていうのが多く、「ディープラーニング(ニューラルネットワーク)の世界での当たり前」を量子ディープラーニング(量子ニューラルネットワーク)に輸入してくるだけで、新しい研究になる。

 

 

 

ディープラーニング(ニューラルネットワーク)の研究は、急速に発展している。

タイトル通り、ディープラーニング(ニューラルネットワーク)の研究は、急速に発展している。最新の研究は、全く追えていないが、コンピュータが囲碁で世界チャンピオンに勝ったとか(アルファ碁、強化学習とディープラーニングの融合)、コンピュータが実在しない人物の写真や風景画を描いたとか(GAN)、自然言語処理でコンピュータが人間を上回ったとか(BERT)…一般の人も知っているぐらいのレベルのことは知っている。

 

このようにディープラーニング(ニューラルネットワーク)の分野では、今まで、絶対にできないであろうと考えられていたようなことがどんどんできるようになってきている。難しいタスクをこなしたことを報告する論文もたくさんある。

 

ディープラーニング(ニューラルネットワーク)の論文を漁れば、難しいタスクである株価予測に関するヒントがたくさん得られるかもしれないと思った。

 

 

 

ディープラーニング(ニューラルネットワーク)は、汎用性がある。

今まで開発してきたアルゴリズムは、移動平均線をベースとするもの。「長期移動平均線と短期移動平均線がゴールデンクロスすれば、買いタイミング、デッドクロスすれば、売りタイミング」…っていう話は、大体の株式売買の入門書に書いてある。

 

僕も一応、株式売買の入門書を買い、移動平均線で株式の売買タイミングを決める考え方を知り、それを元にプログラムを書いてきた。

blog.sun-ek2.com

 

しかし、そんな中、ふと心に浮かんだ疑問…

「移動平均線の話や、それを元にして開発しているプログラムって、株式売買“以外”に役に立つの?」

 

…気づいてしまった。というか気づくのが遅かった。

移動平均線の話や、それを元にして開発しているプログラムって、株式売買以外には役に立たないのだ。

 

「株式売買」に役に立って、「それ以外のこと」にも応用できるものは何か?…答えは、ディープラーニング(ニューラルネットワーク)。

 

もちろん、ディープラーニング(ニューラルネットワーク)は、株式自動売買に役に立つ。それ以外にも株式自動売買プログラム開発のために論文で仕入れる知識は、株式自動売買以外にも役に立つ。様々なニューラルネットワークモデルやデータの処理の仕方は、他の分野でも応用可能。

 

量子ディープラーニング(量子ニューラルネットワーク)の研究を本格的に始めることになったら、きっと株式自動売買プログラム開発のために仕入れたディープラーニング(ニューラルネットワーク)の知識は役に立つだろう。

 

また、将来、出来ることなら、ずっと研究を続けていきたいが、研究の世界は競争が激しいので、途中でその道を諦めて就職しなければいけないことだってある。そんな時の保険の意味合いとして、ディープラーニング(ニューラルネットワーク)ベースのプログラム開発をしていたという経験は、就活なんかで役に立つかもしれない。

 

 

 

ディープラーニング(ニューラルネットワーク)に必要なライブラリって?

ディープラーニング(ニューラルネットワーク)のコードを一から書き始める人は、まずいない。ディープラーニング(ニューラルネットワーク)の研究、ディープラーニング(ニューラルネットワーク)を利用した研究をしている修士時代(大阪大学 情報科学研究科時代)の知り合いだって、そんなことはしない。

…必要なものがまとめられているライブラリを使う。

 

ちなみに研究室の同期がディープラーニング(ニューラルネットワーク)のコードをライブラリなしで一から書き始めようとしていたが、あまりに処理が重くて諦めたらしい。

 

ディープラーニング(ニューラルネットワーク)で、計算コストがかかるのが、誤差逆伝播。誤差逆伝播では、膨大な数理最適化問題を解く。数理最適化問題は、巨大な研究分野。この巨大な研究分野に精通していないと、プログラムを高速化、効率化することはできない。

 

例えるなら車。車は、一人の専門家の力では作れない。鉄鉱石から鉄を取り出す専門家の力が必要であるし、鉄を加工する専門家の力が必要であるし、エンジンを作る専門家の力が必要であるし、車の設計図を作る専門家の力が必要であるし、大量の部品を組み合わせる専門家の力も必要である。

 

ディープラーニング(ニューラルネットワーク)も車のように一人の専門家の力では作れない。様々な専門家の力が必要である。そして、様々な専門家の力が結集していて、ディープラーニング(ニューラルネットワーク)に必要な部品が使いやすい形でまとめられているのがライブラリ。

 

そして、プログラマは様々な専門家の力が集結したライブラリを使って、プログラムを組み上げ、世の中の様々な問題を解決する専門家。

 

 

 

TensorFlow vs PyTorch。

ディープラーニング(ニューラルネットワーク)のライブラリで有名なのがTensorFlowと PyTorch。

www.tensorflow.org

pytorch.org

 

昔、僕が使ったことがあるのは、TensorFlow。けれども、今後は、PyTorchを使って開発をしていこうと思っている。…むちゃくちゃ悩んだ。。。

 

 

 

人気。

Google Trendを使って、TensorFlowと PyTorchの人気度を調べてみた。

f:id:sun_ek2:20200714222853p:plain

TensorFlowは、早くから人気が上昇し、その後は、高い人気を保ち続けている。一方で、PyTorchは、TensorFlowが登場してから約1年遅れで登場し、そこから右肩上がりの人気上昇を維持している。

 

今は、TensorFlowの方がPyTorchよりも人気が高い。けれども、このグラフに外挿を施すと、2020年末には人気が逆転するのではないかと思っている。

 

 

 

書きやすさ。

Pythonのあまり好きではない点は、ライブラリごとに「書き方のお作法的なもの」が違うこと。

 

例えば、高次元データ内の特定の要素を参照する書き方は、組み込み型のlist、NumpyのNumpy array、pandasのDataFrameでこれだけ違う。

#組み込み型のlist
array[x][y]
# NumpyのNumpy array
array[x, y]
# pandasのDataFrame
array.iat[x, y]

 

同じPythonでも高次元データを組み込み型・Numpy・pandasのどれを使って取り扱うかによって、書き方が変わってくる。

…こういうのが嫌い。

 

そのため、書き方で変なオリジナリティを出していないライブラリがいいなって思っていた。

 

と言ってもPyTorchは使ったことがないので、どんなのか分からない。そのため、PyTorchをGoogle検索してみた。一番上にくるのがPyTorchの公式サイト。そして、2番目が以下のサイト。

www.codexa.net

 

このサイトでは、PyTorchの特徴が3つ紹介されていた。それによると、PyTorchの書き方は、Numpyに似ているらしい。昔、TensorFlowを使ったことがあって、最近、全く使っていないので、もうよく覚えていないが、何となく書きにくいなって思っていた。一方で、PyTorchは、普段からよく使うNumpyに書き方が似ている。

PyTorchってなんかよさそうって思うようになった。

 

(この文章を書いているときにTensorFlowが使われたソースコードを見てみたが、そんなに書きにくそうとは思わなかった。TensorFlowを使っていたときは、あまりPythonに慣れていなかったので、そう思ったのかもしれない)

 

 

 

ディープラーニング(ニューラルネットワーク)の論文におけるシェア。

株式自動売買プログラム開発は、論文ベースでやりたいなって思っているので、ディープラーニング(ニューラルネットワーク)の論文におけるシェアも調べてみた。

 

簡易な方法であるが、Google ScholarでTensorFlow、PyTorchを検索し、何件ヒットするか調べてみた。Google Scholarは、論文とかに特化した検索エンジン。期間は、2018年以降にした。

Google Scholar検索結果の件数

  • TensorFlow…約 18,300 件
  • PyTorch...約 16,700 件

 

若干、TensorFlowの方が多いが、これくらいの差は、あんまり大きな問題じゃないかも。

 

 

 

量子ディープラーニング(量子ニューラルネットワーク)に向けて。

Googleは、2020年3月にTensorFlow Quantumというライブラリを公開した。TensorFlow Quantumは、その名の通り、量子古典ハイブリッド機械学習のためのライブラリ。

www.tensorflow.org

 

古典というのは、現在の機械学習のことを指している。現在のコンピュータは、古典コンピュータと呼ばれる。「古典」っていうのは、古いっていう意味ではなく、「量子」の対義語。物理学の分野では、「量子」-「古典」という言葉は、よく使われる。

 

一方、今のところPyTorchは、TensorFlow Quantumのように量子計算を内包していない。ただ、QiskitとPyTorchを併用すれば、TensorFlow Quantumっぽいことができそう。

 

Qiskitは、量子計算ができるライブラリ。

qiskit.org

 

それまで「PyTorchを使おう!」って思っていたが、GoogleがTensorFlow Quantumというライブラリを公開していることを知り、気持ちがかなり揺らいだ。先ほども言った通り、株式自動売買プログラム開発のために論文から仕入れた知識や開発を行った経験は、株式売買以外の分野でも応用したいと思っている。特に量子ディープラーニング(量子ニューラルネットワーク)の分野で。

 

一見すると、TensorFlowの方がPyTorchよりもリードしているような気がする。けれども、TensorFlow Quantumが登場して、まだ数か月しか経っていないので、今後どうなるか分からない。(ちなみに僕が読んだ量子ディープラーニング(量子ニューラルネットワーク)の論文では、どれもプログラムの実装にPyTorchを使っていた(大半の論文は、実装に関する情報が書かれていない))

 

また、しばらくしたらPyTorchも量子計算を内包するようになるだろうという予想から、悩んだのちにPyTorchを選んだ。

 

 

 

番外編:Chainerって?

Chainerは、海外での知名度はないが、日本国内だけなら、ある程度、知名度があるディープラーニング(ニューラルネットワーク)のライブラリ。

chainer.org

 

TensorFlowはGoogleが開発しており、PyTorchは元々、Facebookが開発していた。一方、ChainerはPreferred Networksという日本の会社が開発している。

 

毎年、Preferred Networksは、学生インターンをやっている。期間は、1か月くらい。40万くらい貰えて、交通費や宿泊費の補助が出るそうなので、この文章を読んでいる高校生、高専生、大学生、大学院生で興味のある人は、応募してみてはいかが。

preferred.jp

 

そんなことを言いつつ、僕はPreferred Networksの学生インターンには、応募したことはない。修士時代(大阪大学 情報科学研究科時代)の知り合いが何人かPreferred Networksの学生インターンに行っていた。

 

 

 

とりあえず、本でも買おう…。

PyTorchの書き方を知りたかった、ディープラーニング(ニューラルネットワーク)の知識を更新したかったので、参考書を買うことにした。

 

Amazonで「PyTorch」と検索して、一番上に出てきた本が「つくりながら学ぶ!PyTorchによる発展ディープラーニング」。

 

ざっと見た感じ、評価が他の本に比べて高かったので、この本を買うことにした。少しだけ、本の内容を確認できるので見てみると、知らない話が結構あった(逆に内容が既知のものばかりだと、本を買う意味がない)。

 

2章の途中まで読んでみたが、必要なことだけ簡潔にまとめられていて、あまり余計なものがないのがよかった。あと、筆者のGitHubのページにこの本に書かれてあるソースコードが載せられていて、そのレポジトリをクローンすれば、手元のパソコンで、そのソースコードを実行し、本に書かれてあることを確かめることができる。また、ソースコードを少し改変することによって、少ない労力で、実用性のある新たなプログラムを開発することができそう。そして発売されたのが、今から1年前くらい前なので、新しい技術がたくさん載っている。

 

この本のAmazonでの評価は、とても高いが、注意しなければならない点が1つ。この本は、プログラミング初心者やディープラーニング(ニューラルネットワーク)初心者に向けて書かれていない。自分で必要な開発環境を用意し、ある程度、自由にPythonでプログラムを書くことができて、ディープラーニング(ニューラルネットワーク)の仕組みを一通り理解している人向けである。この本の最初の方にも、ちゃんと注意喚起されている…「この本は、初心者向けではない」。

 

プログラミングしたことないけど、Pythonでプログラムを書いてみたいっていう人におすすめの入門書は、以下の文章で紹介したので、よければどうぞ。

blog.sun-ek2.com

 

ディープラーニング(ニューラルネットワーク)の勉強は、先ほども言った通り、講義とネット漁りを通じて行った。そのため、Pythonのようにおすすめの参考書とかを挙げることはできない。

Pythonの開発環境構築は、Anacondaというディストリビューションがおすすめ。簡単に開発環境を構築できる。ネットでAnacondaと調べれば、色々な情報が手に入る。僕はAnacondaが好きではないので、使っていない。

 

 

 

最後に。

f:id:sun_ek2:20200714225316p:plain

PyTorchを導入してみた。先ほどの本によると、AmazonのGPUマシンを1時間100円ぐらいで借りることができるらしい。月2,000~3,000円くらい使って、開発したモデルをGPUマシンで学習させるのもいいかもしれない。

 

ぼちぼち頑張ろうと思う。

 

この文章を読んで、面白い!役に立った!...と思った分だけ、投げ銭していただけると嬉しいです。

ofuse.me

 

ブログランキング・にほんブログ村へ
にほんブログ村