ものづくり・しくみづくりを基盤として、Society5.0を支えるデータサイエンティストの育成を目指す
~関西大学システム理工学部 データサイエンティスト育成プログラム・「データサイエンス型」AO入試
統計学や計算機科学(コンピュータサイエンス)、機械学習などの分析手法で大量のデータから新たな知見や価値を生み出すデータサイエンスは、今や、学問や産業の枠を超えて社会のあらゆる場面で不可欠な存在となっています。中でも、インターネットを介して得られるビッグデータの解析は、マーケティングや流通のあり方を根底から変えるものとなりました。
来たるべきSociety5.0では、インターネットだけでなく、センサーやIoT(Internet of Things)を通してさらに多様かつ大量なデータがサイバー空間に集まることになります。これらを解析し、活用することで、現実空間のものづくりや医療・介護、エネルギー、防災などに新たなイノベーションを生み出し、安全・安心で快適な社会を創ることが期待されています。
現在のデータサイエンスは、集まって来たデータをいかに分析するかという点に注目が集まっていますが、もともとデータのやりとりは、通信やネットワークを介して行われ、それを処理するしくみづくりは工学の領域でした。今後、センサーやIoTから様々なデータが発信されるとともに、それらの大量のデータを収集・処理するしくみをつくるハード面の機能や精度の向上への期待は一段と高まりそうです。
ものづくり・しくみづくりをコンセプトとする関西大学システム理工学部では、Society5.0をハード面から支える数理・データサイエンス・AI人材の育成のために、2020年度から「データサイエンティスト育成プログラム」を電気電子情報工学科でスタートしました。また、入試においても総合型選抜(AO入試)において、従来の「活動実績評価型」に加えて、2022年度入試から、「データサイエンス型」の選抜方式も導入しました。この方式では、データサイエンスやAI・IoTに関する深い知識と、データ分析手法やシステム開発に携わりたいという強い意欲、データ分析の経験やプログラミング技術などを評価します。
理工系のものづくりの中でのデータサイエンス教育はどのように行われるのか。AO入試のデータサイエンス型」ではどのような学生に入学してほしいのか。システム理工学部の先生方にお話をうかがいました。
■電気電子情報工学科は、情報処理のハード面との結びつきが強いと思います。その中で育成を目指す数理・データサイエンス・AI人材について、具体的にお教えください。
宅間正則先生[関西大学システム理工学部 学部長・機械工学科教授]
まず、背景として昨年、2020年度から始まった「データサイエンティスト育成プログラム」についてご紹介しましょう。
われわれシステム理工学部では、「しくみをいかに創っていくか」という教育のあり方について、様々な試行錯誤をしてきました。今はパソコンが非常に発達して、大量の情報が飛び交っていますが、この情報をものづくり・しくみづくりにいかに活用していくかが、これからのポイントになっていくだろうということを検討していたのです。
その際、「モノづくりの現場でデータ(情報)がどのように活用され、しくみづくりに生かされているのかを学生に体験してもらうことから始めよう!」ということになり,ご協力いただける企業との間でデータサイエンスをテーマとするインターンシップが始まりました。
このような流れの中で、データサイエンスに係る教育プログラム自体も見直そう、ということで、徳丸先生に協力していただいて作り上げたのが、この「データサイエンティスト育成プログラム」です。
昨年度の入学生から、電気電子情報工学科で先行してスタートしました。これをシステム理工学部全体で実施しようということで、機械工学科でも来年度(2022年度)から「機械データサイエンス教育プログラム」を開始します。
我々システム理工学部のデータサイエンス教育の特徴は、ものづくり・しくみづくりに生かしていくことを目標としていることです。例えば、機械工学科であればIoTを介して得られる大量の情報を、いかに生活を豊かにするものづくり・しくみづくりに生かしていくかということですね。
また、高大連携では、いくつかの高校の生徒の方々に大学に来ていただいて、データサイエンスやプログラミングを経験してもらう、ということも行っています。こういったことを通して、高校生に向けて、ものづくりの中にも様々な面白い領域が広がっていることを紹介しています。
[システム理工学部 データサイエンティスト育成プログラムの詳しい内容はこちらから]
徳丸正孝先生[システム理工学部 電気電子情報工学科教授]
「データサイエンス」は、今は非常にキャッチーなワードになっていますが、その少し前は「AI・人工知能」と言われていました。現在は、AI自体が汎用ツール的なものになって、目新しさはなくなってきていますが、人工知能というのは実は昔からあるものなのです。
大型のワークステーションやパワフルなパソコンの出現で、研究室で人工知能やデータ解析の研究ができるようになったのが、ちょうど1990年代辺りでしたが、当時AIやデータ解析技術というのは、我々理工系の専売特許のようなものでした。今は、データサイエンスというのは、いわゆるWWWを通した顧客のふるまいや、スマートフォンから収集されるものが対象で、高校生の皆さんには、データサイエンスというのはマーケティングや社会情勢など、経済学や商学などに直結する分野というイメージがあるかもしれませんね。
現状のデータサイエンスでは、このようなwebベースのデータ解析が主流ですが、今後一般家庭から工場までさまざまな場所で使われる機器にセンサーが組み込まれて、ありとあらゆるデータがセンサー経由で集まって来るようになると、将来的に各家庭から得られるデータの分析、あるいはファクトリーオートメーションとして、生産現場での分析を可能にするデータサイエンスが非常に重要になってくるわけです。
センサーの発達で、取れるデータは膨大になると言いましたが、一方で、集めたデータをどのようにハンドリングするか、ということも問題になっています。より多くのデータをいかに収集するかだけでなく、実際にそのデータ自体がどのような性質を持つものなのかを、しっかりと理解して扱う必要があり、その部分はいわゆる機械や電子制御、ネットワークの技術、つまり我々が本来目指しているものづくりの技術が必要になってきます。われわれシステム理工学部のデータサイエンス教育では、データの扱いと、ものづくりの両方をしっかり学んだ技術者を育てていく、という位置付けです。
今、これだけのビッグデータが解析できるのは、大量のデータを処理することができる計算パワーが上がったからこそ可能になったのであって、そのベースは先ほどお話しした90年代が出発点にあります。システム理工学部は、当時からプログラミングの教育の場であったというところが大きいですね。
その中で、システム理工学部に入学された学生に対して、専門教育に入る前の基礎教育でどんなことをなさっていらっしゃるのでしょうか。
宅間先生
関西大学全体としては、2021年4月から「数理・データサイエンス・AI」に関する全学的カリキュラム(※)を置きました。
こちらは、全学部の教員が登壇するリレー講義になっていて、各学部の担当者が1、2回ずつ出てきて話をする形式です。オンライン講義で、約600人が受講しています。
※https://www.kansai-u.ac.jp/ja/about/pr/news/2021/01/20214.html
この講義の狙いとしては、いわゆるデータサイエンスが、全ての学問でツールとして使われるものであるということを、学生に知ってもらうことにあります。例えば、外国語学部であれば翻訳技術、社会学部の心理学専攻であればアンケートの因子分析など、どんな学問を学ぶにしても、そこにはデータが必ず存在し、そこから知識を取り出すためにデータサイエンスを使っていることをしっかりと理解してもらう、という目的です。
そこでは、いわゆる機械学習の技術的な話やプログラミングなどは一切関係ない形で、それぞれの学部の教員に、各学部の学問研究とデータサイエンスの関わりや、研究事例としてこういうものがあるよ、ということを紹介していただいて、全ての関西大学の学生にデータサイエンスに興味を持ってもらうようにします。本学は学部によってキャンパスが分かれていますので、全学部の学生が各学部で学んでいることを共通で知ることができるように、という意味も含めています。
この他に、全学の共通教養科目に「基礎からの情報処理」などの科目も置いています。一方、システム理工学部の各学科ではコンピュータやプログラミングに関する専門教育科目として、選択科目、選択必修科目、必修科目が配置されています。
システム理工学部としての基礎教育では、C言語のプログラミングを行っています。機械を扱うためには、やはり計算機のための言語として、C言語やFortranといった以前から用いられている言語のプログラミングのスキルはどうしても必要です。さらに、データサイエンスのためにPythonなども扱いますし、データの特徴抽出を学ぶためには数学や統計といったことも必要なので、これらも基礎教育という形で必修科目として置いています。
徳丸先生
電気電子情報工学科の学科共通の専門基礎教育としては、1年次生の春学期に必修で「情報リテラシー実習」を置いています。ここでは、最初にセキュリティを守ることや、技術者としてのマナー・情報倫理をしっかり押さえています。それに加えて、いわゆるパソコンの使い方、リテラシー教育として、Officeソフトの使い方の実習、HTMLを使ってウェブページをデザインする、ということも行っています。これらは、本来高校でも行っていることですよね。
プログラミングに関しては、電気電子情報工学科の場合は、C言語を1年次生の秋学期に必修科目で全員が受講します。C言語がスタートなのは、やはり我々の学科の教育がコンピュータアーキテクチャと密接に関わっているので、ハードウエアの構造とリンクすることをしっかり意識させたいからです。
例えば、計算機では整数と実数とでは扱う情報量が違うということも意識しなければいけません。変数の型も最初の段階からきちんと意識させたいということがあります。易しい言語を使って、プログラミングのハードルを下げると、その辺りが曖昧になって、コンピュータアーキテクチャから切り離されてしまうので、やはり1年次生のうちは、基本的なC言語で、数値計算をベースとした、しっかりとしたアルゴリズムと、コンピュータの中のメモリー領域の入れ物を意識させたい、という発想です。
「プログラミングの初心者に、C言語は難しいのではないか」という話も聞きますが、私は文法上特に難しいということはないと思います。ただ、C言語は、先ほど言った整数と実数の違いのように、結果を出すのに直接関係ないところをきちんと手続きとして書かないといけない、というところにハードルがあると思います。
高校生がプログラミングの考え方を身に付けるためには、言語にとらわれず、情報の流れを頭の中で組み立てる、つまり、アルゴリズムに興味が持てるような経験をすることだと思います。その意味では、C言語はどこまで行っても計算機の延長で、プログラムの結果は真っ黒なコンソール画面に数値がポッと出てくるだけなので、「プログラミングで何かボタンを押したらアニメーションが出てきて反応するゲームを作ってみよう」ということは、C#や他の言語でないと難しいですね。
今後は、高校のプログラミングの授業で、JavaScriptやPythonを使うことになるのでしょうが、そういった経験をすることで、プログラミングのハードルがぐっと低くなるのではないかと思います。
ですから、高校時代に学ぶ言語では、配列や繰り返し、条件の分岐のような手続きの流れを押さえていただければよいので、興味さえ持っていただければ、言語の種類は何でもよいと思います。
宅間先生
コンピュータ言語については、学科の考え方がいろいろあると思いますが、論理付けをしながら、アルゴリズムの流れを自分の中でイメージすることがどこでも基本になると思います。機械工学科や物理・応用物理学科であれば、例題として振り子や放物線などの物理現象を表す方法を提示して、学生がそのプログラムを考えていく中で、論理性や手続きといったことを学んでいくよう、指導しています。
システム理工学部の「データサイエンティスト育成プログラム」はどのようなプログラムなのでしょうか。具体的にお教えください。
宅間先生
「データサイエンティスト育成プログラム」は、システム理工学部の各学科でそれぞれ動いています。機械工学科では、実際に企業の方に来ていただいて、装置や機器からセンサーを通じて収集したデータが、どのパラメーターをいじればどのように変わるかということを、学生がいろいろ体験しながら、収集したデータの特徴を抽出して、うまく機能させていくという実習を今年から始めました。
この授業科目は1年次生の夏季集中講義で行われ、学生が普段接することがないモノづくりの技術者と同じ空間でデータ解析やデータ活用の方法を体験でき、参加している学生の目がイキイキしています。このような授業形態を、上位年次にも配置していこうと検討しています。
徳丸先生
「データサイエンティスト育成プログラム」は、データサイエンスに強い興味を持つ学生を選抜して、より専門的に教育を行うものですが、1年次には、学科の全員が従来よりもさらに充実したデータサイエンス教育を受けられるよう、カリキュラムを改編しました。
具体的には、電気電子情報工学科の1年次生の春学期の段階で、「データサイエンス入門」という半期の授業を置きました。また、これまではプログラミングは基本的にはC言語と、Javaを使ったwebアプリの開発で、どちらかというとソフトウエア開発を視野に入れた体験実習でしたが、データサイエンスが注目されるようになり、Pythonの機械学習のライブラリが急速に充実してきたので、それまでは研究室配属になってから学生が自主的に勉強していたPythonを使った機械学習プログラミングの実習を、カリキュラムに入れることにしました。
さらに、データサイエンスに強い興味を持つ学生を選抜して、より専門的に教育を行うために、2年次生になるときに、1学年180名ほどから20名を選抜し、「データサイエンス基礎PBL」というグループワークを行っています。ここでは、学生5人のチームに対して、教員とTA(Teaching Assistant)が1人ずつ付きます。この中で、実際のAIのロジックを組み込んだ実習や、企業からいただいたデータを解析してディスカッションするといった現場の開発に近い形でのPBL(Project Based Learning)でデータサイエンスを体験しています。
3年次生では、「データサイエンス応用PBL」のグループワークを行います。現在は、まだ最初の学年が2年次生なので手さぐりで進んでいますが、完成年度になれば、2年次生と3年次生でチームを組んでプロジェクトを遂行し、4年次生で企業にインターンシップという、3年間の実習プログラムになる予定です。
「データサイエンティスト育成プログラム」の内容は、関西大学のオリジナルのプログラムなのでしょうか。
徳丸先生
はい、完全オリジナルです。電気電子情報工学科で学ぶコンピュータアーキテクチャが、データサイエンスにどのようにつながっているのか、ということも含め、人工知能、統計や機械学習について総合的に学ぶ授業になっています。
このプログラムで重要になるのが数学の力です。ツールを使えるだけでは、サイエンティストとは言えません。確かに、Pythonを使ってソースコードを入力すれば、何らかの結果は出てきますが、そのデータが導かれた理由を機械学習の仕組みから理解するためには、最後は数学がベースになります。ですから、このデータサイエンティスト育成プログラムの受講生の選考にあたっては、数学の成績、プログラミング、そして先ほどの「データサイエンス入門」の成績を基準にしています。
高校生の皆さんに知っておいていただきたいのは、人工知能は、微分・積分や確率・統計と非常に密接に関わっている、ということです。機械学習の仕組みや、ツールの中身、動作の理屈を知るという意味で、数学は避けて通れません。大学で人工知能を学びたいという人は、なぜ数学が大事なのか、ということを意識していただきたいと思います。
入試のお話に移ります。今回、総合型選抜(AO入試)で「活動実績評価型」とは別に「データサイエンス型」を始められたのは、どのような力を持つ学生に期待しているのでしょうか。
徳丸先生
従来の「活動実績評価型」でも、データサイエンスや人工知能に興味がある学生に入学してほしいと考えていたのですが、活動実績評価ということになると、例えばロボットのチームに参加してロボカップで成績を収めたといった認定が必要になってきます。ただ、AIやプログラミングの世界というのは、公式の大会などに出場しなくても、興味を持って突き詰めようとする人は必ずいるだろう、と考えました。
高校生にも、Pythonや機械学習の入門書を読む力は十分ありますので、要は興味を持ってどんどんのめり込んで、新しいソフトウェアを創り出したり、新しいデータ解析による知識を発見したりすることができる可能性を持った学生に入学してもらおうというのが、今回の趣旨です。コンテストで何位だったとかいうのではなくて、自分で作品としてソフトウェアを作り上げた、データ解析をやったという経験や熱意を評価したい、ということです。
ただ、出願資格をどうするのか、ということが課題でした。「プログラムで何か作った経験がある人」と言っても、ブロックプログラミングで数行書いただけとか、サンプルコードをコピペしてつないだだけ、というのでは困りますので、そこの基準をどう設けるのかというところで、我々もかなり悩みましたが、今のところ募集要項には「ソースコードが300行以上」という条件を示しています。
今は、少し本を読んだりネットで探したりすれば、サンプルコードはいくらでもあるので、それをちょっといじっただけで、見栄えのするアプリが作れてしまいます。実際、書類審査では行数で見るしかありませんが、2次審査の面接では、自分がどこを工夫したのか、そしてなぜそういうものを作りたいと思ったのか、といったことをプレゼンテーションしてもらって、自分の工夫やモチベーションをどのようにアピールするのか見せていただいています。
さらに、プログラムとともに「課題レポート」も提出してもらいますが、これは特別なフォーマットや設問があるわけではなく、自分が書いたプログラムについて、工夫した点や、なぜそのような考えに至ったのかというPRを、しっかり日本語で説明できるか、ということを見るために課しています。
最後に、システム理工学部を目指す受験生へのメッセージをお願いいたします。
宅間先生
まずはいろいろなものに興味を持ち、なぜこうなるんだろう、どう対処したらいいんだろう、という疑問を持ち続けてほしいと思います。これは勉学だけでなく、高校生活の中で 体験する日々の現象についても同様です。
そして、われわれシステム理工学部は「しくみづくり」を基本コンセプトとし、「科学技術システムにおける高機能で安全なしくみの創造」を基本理念としているので、数学・物理に興味を持っていただきたい。そして、スマートフォンやタッチパネルなどの身の回りのものが、どのようなしくみで動くのかということに探究心を働かせてほしいと思います。
徳丸先生
「情報」が大学入学共通テストに導入されることで、高校での「情報」が問題を解くためのものになってしまわない方がよいと思います。ですので、高校の先生方も、教えようとするよりも、生徒がアルゴリズムやプログラムミングに興味を持つような体験をベースとするのがよいのではないか、と思います。
というのは、例えばスマートフォンの使い方というのは、けっこう複雑なものですが、子どもたちは、我々よりずっとうまく使いこなします。面白いことは自分でどんどんやってみるから、操作のスピードも上がるわけですよね。ですので、プログラミングやデータサイエンスを体験するときに、「こんなすごいことが簡単にできるよ」という体験をさせてあげて、興味を持ってもらうのが必要だと思います。
一度興味を持てば、例えば自分でゲームの画面を作ってみようとしたとき、「もっとこんなことができないかな」という欲が出てきます。その欲を実現するために、おのずとアルゴリズムの様々な概念を使うことが必要になります。それがゲーム画面でも、データの分析でも、何でもいいのです。結果として、こういった「便利さ」を経験することで、アルゴリズムに対する思考も備わってきます。プログラミング言語は自分の好きな言語を選択すればいい。その選択した言語でいろんなことにチャレンジして、そこで作った作品で、「データサイエンス型」選抜に応募していただければ、と思います。
昔は、データの分析のためには非常に高価なコンピュータや専用のコンパイラが必要でしたが、今はパソコンさえあれば、ほとんどお金をかけずに機械学習のプログラムや分析ができます。そのために難しい書物を読みこなして勉強しなければならないわけでもなく、例えばPythonの使い方であれば、それこそYouTubeでかなりのことが学べます。
ですから、興味さえ持てば、プログラミングをちょこちょこやってみることで、アルゴリズムやデータの操作はおのずと身に付いてくると思います。