2016-05-02

コンピューター科学のアカデミック業界の残念な現状

mhoye on Twitter: "Extremely angry with the state of academic CS research right now. (1/n)"

MozillaでFirefoxのエンジニアリングコミュニティマネージャーであるMike Hoyeが、コンピューター科学におけるアカデミック研究の残念な現状に激怒している。

コンピューター科学のアカデミック研究の現状に激怒している。

MozillaがBugzillaを始めとした多数の情報を公開した結果として、多くの研究論文が書かれている。

我々はそのような研究には注目している。論文はじっくり読んでいるし、研究結果にしたがって今後の方向性も決めている。

しかし、我々は常に変化する世界に生きている。そのため、我々はデータをもとに結果を再検証して、仮定が正しいことを確認する。

ここで我々が行いたいことは、我々はある意思決定をある論文Xの結果をもとに行いたいのだが、その結果は最新のデータでも妥当であろうか? と言えることだ。

まともな世界では、そのような検証は以下の3ステップで行えるはずだ。

  • 論文著者のバージョン管理システムのレポジトリをクローン
  • 論文著者のプログラムを最新のデータに対して適用
  • 新しく生成されたグラフを見る

データはまだ仮説を支持するものであるか? 素晴らしい。この方向で進めよう。結果が変わった? 何故なのか考えてみよう。いずれにせよ。全員が満足する結果となる。

しかし、これは実現しない。なぜならば、コンピューター科学の研究者はコードもデータも公開しないからだ。奴らはLatexで整形したWordドキュメントをペイウォールに阻まれたPDFとして公開する。

奴らときたら、科学の原則である、「妥当性」とか「再現性」とか、中でも最も基本的な原則、「現実に即しているか」などは、クソ喰らえの姿勢だ。

人間が知識や学習結果を共有しないことの時代遅れがいかに時代遅れであるかを見てみようか。

ギリシア火薬の製法は失われた。ダマスカス鋼の製法は失われた。アンティキティラ島の機械は紀元前200年に失われ、同等の精度を持つ時計を再び作るには1500年代まで待たねばならなかった。

いいか。よく聞け。お前の未公開のコードと、お前の未検証のデータと、お前のペイウォールに阻まれた博士論文は、この輝かしい因習の一部であるのだぞ。

お前の目的とやらが、学士を得て卒業することなら、まあいいだろうよ。大抵の人間が望むことだ。だが、院にまで来てやることか?

お前の業績により世界をよりよい方向にインクリメントするためには、世界はお前の業績を読めなければならないのだぞ。

俺は結果の報告書など読みたくない。そんなのは、ワインを注文しているのに、赤っぽい色の液体について報じた新聞記事の切り抜きをFAXしてよこされるのと同じだ。

検証可能なデータと動くコードなしには、お前のコンピューター科学の博士論文の命題とやらは命題ではない。それは単に命題が存在するかもしれないという未検証の主張に過ぎない。

まとめると、俺は大変に失望している。もっと言うべきことはあるが、俺はこれから長年の研究とツールを再現するためのコードを書かねばならないのだ。

15 comments:

kmizushima said...

外側からみるとそういう風に見えるという話かもしれません。ただ、一般的な批判としては機能していない
と思います。まず、コードとデータについては研究者間では問い合わせれば普通は出してくれますし(論文
には問い合わせ用メールアドレスがある)、それで実験が再現できないのなら批判にさらされるべきです。

また、そもそも、コードを対象にするわけではない研究(特に基礎理論)では、(評価された)論文はそれ自体だけで他の研究者の研究を進めるのに役立ちます。

Mike Hoye氏はCS研究の目的(といっても、分野によって目的は異なりますが)と慣習を踏まえずに、対象の論文が自分の思うようでない事に対して怒っているだけのようにみえます。

Anonymous said...

俺もCS専攻じゃないが情報系の研究者として言わせてもらうが、
この意見は論文を利用しようとしている側の一方的な論理に聞こえるな。
それも学問としてではなく、自社製品の金儲けのための道具として。

使う側からしたら不満があるのはわかるしさ、
俺も調査する時に同じ意見持ったりするよ?
でも書く側からしたらデータもコードも論文執筆もタダじゃないんだよ。
こっちは税金(研究費)つぎ込んでコードを作ったり調達したりさ、
機密データを提供してもらって研究して結果出したりしてるわけでさ。
金をかけてやっとのことで用意した資産に対して
「アカデミック」を理由に何でもかんでもタダで手に入ると思うなよ。

開発のプロで金もらってやってんだろ?
だったら論文からコードを書き直す努力ぐらい自分でしろ。

Anonymous said...

世の中上みたいなのばっかりってことですな

Anonymous said...

これ2-3行目にありますけど「Mozillaがオープンソースで公開したデータ」を
元に書かれた論文に対して言ってるんじゃないでしょうか?
そしたら皆ちゃんと公開して改善していこうぜっていうのは理に適ったスタンスだと思います。

Anonymous said...

>これ2-3行目にありますけど「Mozillaがオープンソースで公開したデータ」を
>元に書かれた論文に対して言ってるんじゃないでしょうか?

違うでしょ。そうだとするとデータは既に公開されていて
「コンピューター科学の研究者はコードもデータも公開しないからだ。」
っていう部分と矛盾する。

Anonymous said...

いやいや、
・「Mozilla」がオープンソースで公開したデータを元にして「コンピュータ科学の研究者」が論文を書いてる
・「コンピュータ科学の研究者」は自分が改変したソースコードを公開していない
という話です。

「Mozilla」側としては「コンピュータ科学の研究者」が改変した部分も同じように公開してほしい。
これはオープンソース的な考え方としては至極まっとうだと思います。
でも「コンピュータ科学の研究者」がそうしてくれない事に対して「Mozilla」側の人間であるMike Hoyさんが嘆いているというツイートなんじゃないかと思います。

Anonymous said...

筆者の最も述べたかった点に下線を引きなさい?国語の問題文か?

Anonymous said...

Mozzilaのソースコードを改変したなんてどこにも書いてないし、
本当に改変していた場合は研究者といえどもライセンスを守らないと違法です。
そうだとすると法務部に訴訟を起こしてもらえば済む話です。
おそらくここで言っているのは、研究者が論文のために
自分で書いたコードについて公開しろということでしょう。
せいぜい、公開されたデータを解析して学術的な結論を得たってことで論文を書いて
それに至る過程のコードをMozzilaで自分で作り直すのが面倒だから
すぐに使える形で全部出せっていうのがMozzilaの主張なんでしょう。

オープンソースは物作り、つまり産業界の都合であって学術界の都合ではありません。
また、学術では基本的に企業に対して中立でなくてはいけないので、
学術界の範囲を逸脱してMozzilaという一企業のために
税金を使って特別にソースを公開するなんていうのは難しいでしょうね。
産業界とwin-winなことは何でもやっていったらいいと思うけど
学術界は学術界の事情があるので、
一方的に産業界の自分たちの都合を学術界に押し付けるのは違うと思いますがね。

Anonymous said...

Paywall を取り払っても経費がかかるのは変わらず, 結局それを押し付けられるのは研究者なわけで,
この発言は「俺は金を払いたくないが研究者は身銭を切って俺にフリーライドさせろ」と言ってるのと変わりません.
Paywall 取り払いたければ, 「Mozilla が Open Access にかかるお金をすべて負担します」とすればいいのでは?

Anonymous said...

私は「ネ申Excel」問題のような一般論として読みました

Anonymous said...

科学者とはいえ他人にマネされたくないからな
コード自体は研究の評価対象に入らないことも多いから隠しても問題ない
競争率は低い程良い

Anonymous said...

Paywallの問題自体は多分Mozillaみたいな大会社からしたらタダみたいなもんで
コードを作り直す部分がMozillaにとって手間と金がかかるんだろうな。
ここでは、Mozillaがデータ公開という形で研究者と社会に貢献して
研究者は論文という研究の世界の作法にのっとってMozillaと社会に貢献して
これでお互い貢献してよかったね、で終わればよかったんだ。
その論文を利用して自社製品に使おうとしてるのはMozillaなわけで
それが面倒だと言って研究者の仕事にしようとするのは違うだろと思うわけで。

あと、マネされるのが嫌とか競争率が低い方が良いとかよりも、
ソース公開とか縛りをきつくすると委縮して
その分野の論文が減って衰退するのが問題なんだよな。
他の研究者や同僚から引き継いだコード、有料のライブラリを使ってるコード、
非公開データ等を利用してるコード、こういうのを勝手に無料公開したら問題なわけで、
論文でちょっとでもそういうのに該当すると一切投稿できなくなる問題が発生する。
また、研究のコードを(種類にもよるが)研究費や税金を使って業者に外注すると
書類上はそのコードの所有者は研究者ではなくて国とかになるので
権利関係から論文に投稿できず、外注がしにくくなるとかもあるんじゃないだろうか。
結局、最もたくさん情報を出させるためにソースコードを非公開を許すしかないんだよ。

論文ではソースコードは「自分の仮説を実証するために試作したもの」
ぐらいの立ち位置でしかなく、論文の本質は仮説と実証、結論の方にあるので、
ソースコードや実装は研究の世界では本質とは切り離され、論点から外れます。
(ソースコードの良し悪し自体で評価を受けるということはあってはならない)
論文の仮説の検証は他の人が作り直して検証して初めて担保できる(再現性)ので、
そういう意味でも検証する人がいるなら一からコードを書き直すべき。
(これは研究者同士でもそうです)

hyoshiok said...

オープンソースの世界は「情報を公開することによって進化する」という仮説のもとに成り立っていて、それは多くの場合正しいです。CSを志す人も、同様にコードを公開しましょう。そうすることによってCSもより発展するし、その進化のスピードも増すという主張だと思います。

検証用のコードが公開されていれば、それを利用することもできるし、妥当性を確認することもできます。そしてそれによってより多くの知見が発見されるでしょうし、進化も加速して、皆が得をするという世界観です。

公開することによるメリットは大きいと思います。

Anonymous said...

「コンピュータ科学」という括りは大雑把すぎるという指摘が以下に。

https://twitter.com/esumii/status/727359849885921280
> 少なくとも「コンピュータ科学」が全称だとすれば明らかに偽。自分の近傍ではソースも論文も普通に公開されているし、それを公式に評価するartifact evaluation等の仕組みもある。https://twitter.com/EzoeRyou/status/727065367860809728

元ツイートも微妙に誤解がある気がしてて、Bugzillaのデータをベースに論文書くのって、computer science じゃなくて、software engineering の分野じゃないかなあ。
software engineering は、工学であって、科学という括りとはちょっと違う分野の気がする。computer science って数学にわりと近い分野だけを指す言葉だと思う。

Anonymous said...

これはMozilla、Bugzillaうんぬんは関係なく、単にPDF論文をやめろ、GitHubに書け、オープンソースにしろ、という当たり前のことを言ってるだけだね。

突き詰めると、ネットがあるんだから研究者は大学に所属するのをやめて、みんなIndependent Scholarになろうよっていう流れとリンクする。

>kmizushima
>コードとデータについては研究者間では問い合わせれば普通は出してくれますし(論文
には問い合わせ用メールアドレスがある)

わかってない。
問い合わせるのにどんだけ機会費用がかかると思ってんの?
「いちいち問い合わせないと出してくんない」なんてオープンソースの世界じゃありえないよ。
人間と会話しなくても事を進められるのがオープンソースの利点の一つ。

>コードを対象にするわけではない研究(特に基礎理論)では、(評価された)論文はそれ自体だけで他の研究者の研究を進めるのに役立ちます

あえてコードを公開しないメリットはない。

>Mike Hoye氏はCS研究の目的(といっても、分野によって目的は異なりますが)と慣習を踏まえずに、対象の論文が自分の思うようでない事に対して怒っているだけのようにみえます

その慣習を変えるべきだ、というのが彼の主張でしょ。
どういう慣習にすべきなのか(何が最も合理的か)、という視点で考えてください。