後輩にあげるプログラムがダサすぎる話

最近の機械学習分野で広がる「プログラムを公開する」流れによって、苦手を克服せざるを得なくなりました。

  

# なぜか最初の画像ペアだけは表示されず、一番最初の行に初期値が入力された状態で入ってしまうので無理やり処理。。。

# もっとかっこいい方法があれば教えてください。

 

この文章、完全にそのまま、私のプログラム内に記述されています。

しかも、後輩に共有予定のプログラムです。

本当は「もっとかっこいい方法」に書き換えてから共有したかったのですが、力尽きてしまいました。

 

ことの発端は2週間前。

とても嬉しいことに、後輩が私の論文を卒論のタネとして読んでくれたことでした。

どんな研究かと申しますと、人間の主観評価値を対象としたものです。

例えば画像を見て「かわいい」と判断する度合い。

これが片手で収まる程度であれば全ての画像を並べて、その中でのかわいい度合いを評価することもできますが、10件を超えてくると、人間にとってはとても困難なタスクになります。

そんな評価が難しいタスクに対して、評価対象の組み合わせに対して一対比較を行うことで評価を推定できるようになります。

しかしそこにも課題があります。

評価対象が増えるに従い、組み合わせ数が膨大になってしまうのです。

一対比較を行えば主観評価値の推定が可能。

一方で、全ての組み合わせについて一対比較を行うことは困難である。。。

そこで機械学習モデルの出番です。

 

機械学習モデルが不足するデータを補うことで、主観評価値の推定が可能になる。

そんな論文です。

そしてその研究の中で、機械学習に入力する「人による評価データ」が必要なのですが、それを作るためのプログラムの中で事件は起きました。

 

自分の意図した通りに挙動しない・・・!

 

何回も評価をしてもらうためのプログラムなのですが、なぜか繰り返しの1回目だけ、勝手に値が入力されてしまいます。

この行がおかしいのか。

この関数がおかしいのか。

頭を捻ってみたものの、一向に解決しません。

 

自分が使うだけならばいいけども、他人に、ましてや後輩に共有するのだから、問題は全て解決したい!

そんなちっちゃなプライドが顔をもたげたのは一瞬のことでした。

「うまく挙動しなくても、最終的な出力が合っていれば良いか!」

そうして修正を諦め、冒頭のコメントを書くことでおしまいとしてしまいました。

 

ところで最近の機械学習分野における論文では、自分の手法を実装するプログラムを共有できるようにした上で出版することが主流となっています。

つまり、論文の公開と同時にプログラムも公開するということです。

そのことによって他の人も気軽に実装できる(往々にしてエラーも発生しますが)ようになり、研究が進んでいく。。。

そういったメリットがあります。

 

私自身、今までプログラムを公開したことはないのですが、今後、公開しなければ論文を掲載しない、と言われないとも限りません。

後輩に自分のプログラミングの下手さがバレるだけならまだしも、全世界に公開しなければならないなんて!

今まで逃げていたプログラミングなのですが、昨今の潮流を見るに、これ以上逃げることはできないのかも・・・。

自分の得意を使うことはもちろんですが、苦手を克服することもまた重要なのだと思い知らされました。

 

 

P.S.

↓メルマガの新規登録はこちらから↓

https://48auto.biz/keieijinji/touroku/sp/scenario13.htm

(スマートフォンよりご登録いただけます)

Who is writing

大学にてデータサイエンスを学ぶ傍ら、多くの人にデータ分析の面白さを伝えたいと日々奮闘中。