2021年9月6日(月)

研究としてやるべきことは何かを考えたときに、自分の興味や好奇心は排除するべき時があるのかもしれない。

研究で求められているのは課題を解決した結果とその手段であって、その過程や試行錯誤の軌跡や好奇心を満たす試行の連続が記載されることは無い。

 

やるべきこととやりたいことをしっかり区別して研究を進めていかないと時間をムダにしてしまう。

どこまで突き詰める必要があるのか。

極論を言えば最終的なレポートや報告に記載されない記載できない行為は排除するべきである。

 

生協で本を発注した。

8冊注文するからエクセルで題名とコードをまとめて店員?に渡した。

最初研究費で買うのだと思われて戸惑ってしまった。

頼んだ本が入ったらメールでお知らせしてくれるらしい。

 

書籍『Learn or Die 死ぬ気で学べ プリファードネットワークスの挑戦』を刊行 | 株式会社Preferred Networks

土日に本屋に行って物色していた時にたまたま見つけて買ったこの本を読み終えた。

日本人の中にもすごい集団がいるんだなって思った。

深層学習をする上では計算資源がやっぱり重要なんだなって読んでいて思った。

 

今の自分のハードに問題があるわけではないが、VRAM 8GB がどうしてもバッチサイズの上限を作ってしまう。

あわよくば RTX A4000 あたりを導入したい。

導入するなら PCIe 4.0 環境にするためにマザボと CPU も換装する必要が出てくるわけだが。

 

何にせよまずは知識面で自分の中身をアップデートする。

f:id:s486_17_059:20210906225930j:image

2021年9月5日(日)

今日も本屋に行った。

昨日本屋に行ったことをブログに書いたか記憶していないが、昨日に引き続いて今日も行った。

 

理由は2つ。

ひとつは一昨日の食べ過ぎによる胃痛のせいで、満足に立ち読みする事ができなかったから。

ひとつは昨日目星をつけた本は Python TensorFlow 関連のものだったのだが、その後家で PyTorch の方が良くね?って思ったから。

 

プログラム関連の情報はインターネットを隅々まで調べれば欲しいものが大抵は手に入る。

だからお金を費やして本を買い、時間を掛けて読む必要性があるとは言えない。

 

本を利用する個人的な意義は、体系的・線的な知識体系を確立できるからである。

インターネットで得られる点の情報は即効性のある役立ち方をするがその先が無い。

 

本には著者が意図した流れがある。

本から得られる知識は、著者が組み立てた体系の一部である。

 

対象が同じ本を複数冊読めば、その分だけ自分の中にその対象の知識体系を得られる。

それらは最終的に自分の中でひとつになって、自分オリジナルの知識体系になる。

 

だから最初は本から知識を得ることを心掛けている。

 

PyTorch 関連の本の目星をつけてから他の棚を見回って、機械学習の基礎に関する本も買おうと思った。

ベース知識が必要であるかは分からないが、基礎がない人間はどこかで行き詰まると思ってる。

 

現時点で若干の知識不足を感じているから、やっぱり一度知識の下地を作る必要があると思っている。

面白そうだしね。

 

いつになるか分からないけど、機械学習の基礎が積み上がったら深層学習の下地を作りたいと思ってる。

f:id:s486_17_059:20210905231924j:image

2021年9月3日(金)

今日は研究室をずる休みした。

 

昨日の夜とてつもなく眠かったのと、最近帰りの電車でうつらうつらする事が多かったから、疲労が溜まっていると判断してゆっくり寝ることにした。

久し振りに11時間以上寝た。

 

今日から塾講のバイトがまた始まるはずだったのだが、奇しくも2つの授業どちらの生徒もお休みでバイト自体がお流れになった。

 

今日は生産的なことを何もしていない日になった。

f:id:s486_17_059:20210903205223j:image

2021年9月1日(水)

ついにおファイザー製の mRNA ワクチンを体に撃ち込んだ。

これで新人類の仲間入りを果たした。

 

連日のように Keras Functional API モデルの話をしているが、ついにうまく行かない原因を突き止めた。

結果から言えば、Training Dataset を作る時に repeat() をつけていたのが原因だった。

 

何かのサイトか書籍を参考にしたときは、Keras Sequential モデルの学習データに repeat() 処理をしていた。

Sequential モデルはそれで上手くいっていたから Functional モデルでも同じようにデータセットを作っていた。

 

repeat() 処理によって Epoch 毎の学習に用いるデータ数が膨大になった事で学習が全く進んでいなかった。

repeat() 処理を消したらちゃんと学習が進むようになった。

 

ここでの疑問は、Sequential モデルでは repeat() 処理が問題なかったのに、なぜ Functional モデルではこれだけ時間が掛かったのか。

ひとつの仮説は、Sequential モデルの fit() 内部の計算が最適化されていて c 言語などの比較的早い言語で書かれているのではないか。

 

何につけてもここ数日悩まされていた原因が分かった。

これからは擬似的にバッチサイズをあげた学習をさせるコードを書く。

 

お注射したところは動かさなければとくに痛みなどはない。

1回目でかつ3時間しか経っていないからだと思うが、倦怠感や頭痛などはまだ無い。

f:id:s486_17_059:20210901220740j:image

2021年8月31日(火)

Keras Functional API でモデルを作って学習をさせると半端無く時間がかかるのは何故なのか。

Sequential API の fit() がコードの最適化と高速化がなされているのかもしれない。

ちょっと時間が掛かりすぎて思案している。

 

今日は雨の中ヤマトのバイトだった。

今日の雨滴はひんやりしていて下手すると風邪ひくなって思った。

 

ついに明日、おファイザーのワクチンを打ち込む。

 

今日は雨が強すぎて桜の写真はナシ。