2021年3月9日
フルーツサンドになった、こないだのイチゴ。時々フルーツサンドが無性に食べたくなる。甘さとみずみずしさ。
近くのサーカス、先週末が千秋楽だったのだけれど、一瞬にしてテントが解体される。手際の良さに感心しつつも、あっという間に無くなってしまう、寂しさを覚える。
妻の病気の精密検査で、10cmほどの腫瘍が見つかる。良性なのでとりあえずは経過観察で、大事ではなかったことは不幸中の幸い。重く受け止めすぎると不安が募るし、かといって軽く受け止めのほほんと過ごすわけにも行かない。今後も付き合っていかないといけない病気なので、お互い支えあっていきたい。
珍しく晩御飯を作る。きのこのうま煮的なもの作ったのだけど、あまり旨さが出なかった。カツオのたたきを買っておいてよかった。
機械学習学習日記 - 36日目
scikit-learnとTensorFlowによる実践機械学習の13章、TensorFlowによるデータのロードと前処理を読んだ。
tf.data によるパイプライン化での並列処理・プリフェッチでの高速化やモデル自体に前処理層の実装、完前処理の部分を別に分け実装する TF Transform を使った前処理層の実装など。ちゃんと TF の API を使うことでデータを作る部分と学習の実装の分離ができるのだけど、ちゃんと TF の API を知らなくてはならない。
このへんの前処理は、例えば pandas その他汎用ライブラリを使ってこねくり回す、のほうが大多数の人はやりやすいと思える。ただ、機械学習の技術的負債問題が実運用ではよく発生するらしいと聞くと、最初から TF のやり方を覚え、できる限り運用を TensorFlow Extended (TFX) にあわせてたほうが良いようにも。まぁ最初の前処理は好きな方法でやり、前処理方法が決まったらTFコードに落とすのが、試行錯誤するデータサイエンティストと機械学習エンジニア(や ML Ops)がいるチームでは良いのだろうけど。
PyTorch が研究寄りで TF がプロダクション向き、というのはこの辺の所以もあるのかもしれない。PyTorch 使ったこと無いのでわからないが。
また途中でカテゴリをワンホット表現ではなく、表現学習による低次元ベクトルで表現をする話の中で word2vec が出てくる。低次元ベクトルで表現すると、類義語が非常に近い空間が現れ、アナロジーとして、例えばman→kingのベクトルでwomanと対になっている空間を探すとqueenが見つかるという有名例が出てくる。しかしながら、man→doctorで探すと、woman→nurseという現代では偏見になる回答を得てしまうことがある、という話。たしかに、過去を含めた膨大な文章(を含めた様々なデータ)から作り上げると、そういう学習をしてしまう可能性があり、AI公平性をどう担保するのかという議論が巻き起こっているのも頷ける。