サイエンスとエンジニアリング

2020年12月15日 横内 大介 氏

 サイエンス(科学)とエンジニアリング(工学)の違いはなにかと聞かれたとき、すぐに答えられる人はあまり多くないと思います。
 小学館のデジタル大辞泉では、科学とは一定の目的、方法のもとに種々の事象を研究する認識活動であり、工学とは基礎科学を工業生産に応用するための学問とそれぞれを定義しています。私なりに言い換えれば、科学とは「現象、事象が発生するメカニズムを探求すること」であり、工学とは「社会での実用に供する装置、構造物を創造すること」だと思っています。しかしながら、学術、実務にかかわらず「情報」や「コンピュータ」が関わっている分野では、この2つの区別がとてもあいまいになっていると感じることがあります。


 たとえば、情報科学と情報工学という言葉があります。とある理工系の大学教員に2つの語の違いを尋ねたことがあるのですが、理学部にあるのが情報科学科で、そこで教えるのが情報科学、工学部の場合のそれが情報工学科であり情報工学だよ、と言われたことがあります。そのときはとても馬鹿にされた気分になったのですが、今、国内の大学を眺めてみると、情報科学科が教えている内容も、情報工学科が教えている内容も、大きな違いがないところは多々あるので、この教員の回答は言い得て妙だと今では思っています [1]

サイエンスとエンジニアリング

「データ」の世界でも同様のあいまいな言葉の問題は起きています。それは、科学、工学のスタンスの違いを意識せずになんでもかんでも「データサイエンス」とよぶ風潮です。前回のコラムで書きましたが、機械学習やディープラーニングでAIを作るということは、ブラックボックスであることは許容しつつシステムの正答率を最重視して開発することを意味します。これは実用に供することを最優先にシステムを作るというエンジニアリング(工学)の姿勢そのものです。それに対して、説明可能なAIの開発では、データを多角的に分析し、データの発生メカニズムを突き止め、それをモデル化してAIの頭脳にします。これは紛れもなくサイエンス(科学)の姿勢です。


 今の実務の世界に目を向けると、「エンジニアリング」を駆使してデータ分析やAIを開発するデータ「サイエンティスト」が多く目立ちます。私個人の意見ですが、サイエンスのスタンスでデータ分析やAI開発をする人たちとの区別がつかなくなるので、ぜひ「データエンジニア」と名乗ってほしいと思っています[2]

 

「腐った豆が納豆という名前で、神社に納めるのは油揚げ(豆腐が原料)」。このようなあべこべと言いますか、名称の違和感というのは世の中にちらほらとありますが、さすがにエンジニアリングとサイエンスを混同してはまずいだろうと思うのは私だけでしょうか。

  1. あくまで個人の感想ですが、「何らかの事象のメカニズムの探求」ではなく、「実用に供するITシステムの構築やそれらを助けるツールの開発」に研究や教育の主眼があると思われるので、情報工学に統一したほうがしっくりすると思っています。
  2. 私はデータサイエンスに関するソフトウェアの設計で工学の博士号を取得しており、このソフトウェア開発は今でも私の重要な研究テーマの一つです。決して、エンジニアリングが嫌いというわけではないので、その点は誤解しないでください

執筆者プロフィール

横内 大介 氏

一橋大学大学院経営管理研究科 准教授

慶應義塾大学大学院理工学研究科後期博士課程修了、博士(工学)。慶應義塾大学理工学部数理科学科データサイエンス研究室助手、一橋大学大学院国際企業戦略研究科専任講師を経て、現職。現在、複数の民間企業の技術顧問や社外取締役に就任し、AI開発やビッグデータ分析の監修、データサイエンス人材の育成も行っている。