大學の學びはこんなに面白い

大學の學びはこんなに面白い

研究?教育紹介

東京工科大學 HOME> 大學の學びはこんなに面白い> さまざまなITツールを使い倒して改善點を見つけるなど、今だからこそできることに取り組もう!

さまざまなITツールを使い倒して改善點を見つけるなど、今だからこそできることに取り組もう!

2020年10月20日掲出

コンピュータサイエンス學部 生野 壯一郎 教授

コンピュータサイエンス學部 生野 壯一郎 教授

  目に見えない現象のコンピュータシミュレーションや、そのための計算方法を効率化?高速化する研究に取り組んでいる生野先生。今回は新型コロナウイルス感染癥の流行を受け、全學で実施されているオンライン授業の現狀や最近の研究についてお聞きしました。

■まずは、この春から取り組んでこられたオンライン授業についてお聞かせください。

  新型コロナウイルス感染癥の影響で、本學では今年の4月時點で講義をオンラインで進めることが決まりました。そこから私自身、かなり試行錯誤を重ねてきて。當初はYou TuberさながらにYouTubeに動畫をあげたり(笑)、ZoomやGoogle Meetを使ったりもしましたが、最終的にZoomに落ち著いて、進めてきました。私が擔當している講義には、基本的に板書を必要とする數學や、プログラミング系の科目があります。數學の講義では、ZoomとiPadの畫面をつないで、iPad上にリアルタイムで積分の方法や數式を書きながら説明するという工夫をしています。実はこのiPadを使う講義法は、5、6年前から講義に導入していたものです。教壇に立って黒板に書く代わりに、iPad上で數式などを書いて、その畫面をプロジェクターで寫しながら講義をしてきました。その方が學生の顔が見えて、反応が分かりやすいからです。今回のオンライン授業でもそれを取り入れていて、學生からは臨場感があると好評です。 それに加えて、Zoomの録畫機能を使って授業を録畫しておき、それをオンデマンドという形で外部クラウドにあげて、後から學生が見られるようにしています。簡単に言えば、授業の生中継と再放送の両方が見られる環境をつくったのです。そうすると學生は聞き逃した部分や理解があやしい部分を録畫映像で再確認できます。この方法は教員からすると、教育効果が高いのではないかと感じています。

  オンラインを使ったプログラミング系の講義でも同様に、リアルタイムでパソコンの畫面上に私がプログラムを書いて見せるという実演形式で進めています。さらにZoomの落書き機能を使ってプログラムに直接、矢印や囲みを書き込んで強調したりしながら教えています。こういうリアルタイムにプログラムを打ちながら教えるスタイルも、オンライン化の前から行っていました。その方がどこにマウスカーソルをあてて、どういう順番で書くかという書き方を覚えてもらえるからです。例えば、演算子の前後やセミコロンの後ろには必ずスペースを入れるといった細かい書式を守り、見易いプログラムを書くことは、ソフトウェア開発をするうえで非常に重要なことです。というのも大規模なソフトウェアやシステムを開発する場合、複數人での共同開発が一般的だからです。また、見易いプログラムだと間違い(バグ)の発見も容易になります。そういうことを見て覚えてもらえるように実演しています。
  また、學生にわからないことが出てきたときのために、Zoomのブレイクアウトルームという參加者を小さなグループに分ける機能を使っています。そのブレイクアウトルームに行くと、TA(Teaching Assistant)やSA(Student Assistant)といった教育補助員が待機していて、學生はそこで質問ができるのです。TAやSAと學生が畫面共有をして、どんなエラーが出ているか、どこが間違っているかを一緒に探しながら細やかに指導ができたという點も、教育効果が上がったひとつだと思います。従來からの対面授業のよさもありますが、今回のコロナ禍で、思わぬところに教育効果が見られたということは大きな収穫です。

  実際、コンピュータサイエンス學部(以下CS學部)の學生には、今回のような普段と違う狀況下だからこそ、とことんITツールを使い倒して、そのメリットとデメリットをしっかり精査しておいてくださいとメッセージを出しました。使ってみて、ここが使いにくい、こうなればいいのにということをたくさん見つけてくださいと。それは今後の開発や研究、あるいは學生が將來、何かの開発に攜わるうえで必ず役立つということを伝えました。
  これからはやはりニューノーマル、今までノーマル(普通)だったものが使えなくなって、新たなノーマルが生まれていく時代です。そういう中で対面授業が再開したとしても、きっとオンラインでの授業形態はある程度は殘っていくのだろうと思います。例えば、大きな臺風が近づいて電車が運休しそうなときは、全學オンライン授業ということもできるでしょう。そういう選択肢が増えたとも言えますよね。

■では、最近はどんな研究に取り組んでいるのですか?

  私の研究室では、目に見えない物理現象をコンピュータでシミュレーションして解析し、さらにはそのための計算を高速化する數値計算や高性能計算の研究に取り組んでいます。今回はその中でも高性能計算の研究として、コンピュータの並列処理の研究について話しましょう。まず並列処理の基礎的な考え方から説明すると、例えば1萬人分のテストの成績の平均點を出そうとすると、すべての點數を足し算してから1萬で割りますよね。その足し算をする仕事を3人で分擔するとします。10000人分を3等分して、最初のパートをA君が、真ん中のパートをB君、最後の部分をC君が同時に(獨立に)足していきます。そうすると、足し算の仕事量(タスク)は3分の1に減りますよね。つまりA君が一人で1萬人分の成績を足した場合は、仕事を3等分したときの3倍、処理に時間がかかることになります。その仕事をする人數と速度(処理能力)の関係をグラフにしてみると、基本的には処理する人數が増える分、速度が比例する形で上がっていくはずです。例えば3人ですれば3倍、4人なら4倍、10人では10倍になるでしょう。
  ところが、必ずしもそうとは限らないのです。色々な仕事を分擔すると、その分、処理スピードが上がるというのが一般的な考え方ですが、見落としがあります。それはさっきのA君、B君、C君がそれぞれ計算した結果を合算するために、それぞれの結果を一カ所に集めるための“通信”が必要になるということです。さらに、もうひとつ、通信が発生する部分があります。それは1萬人分のデータを3等分したものをA君、B君、C君それぞれに配布するときです。ここでも通信がかかります。ですから必ずしも「n人」ですれば「n倍」に仕事が速度アップされるということはありえないのです。足し算するという仕事量は分擔できても、それに伴う通信は分けられないので減らせません。


  この通信部分をどうしたら削減できるかということを色々と考えるのが、今、メインで取り組んでいる研究です。例えば1萬人のデータのうち、奇數番目の人の點數だけ、つまり5000人分のデータだけを通信します。このままでは計算はできないので、偶數番目のデータを前後の點數の平均値(近似値)として代替し、全體の平均値を計算するということです。若干計算量は増えますが、通信量は減少し並列化効率でそれを補えば、全體としては高速化が可能となります。もちろん、この近似値を使うことで、最終的な結果も近似値となりますが、この場合、點數が一様に分布しているとするならば、正解に近い結果になることが予想されます。


  このように、並列処理における通信を削減するために數理的にアプローチをしており、この通信削減の並列化を連立一次方程式の解法に使うことをメインの研究にしています。具體的には、電磁場解析で現れる約1000萬未知數をもつ連立一次方程式を高速に解くことです。ちなみに、みなさんが中學生のときに初めて學んだ連立一次方程式の解き方(ガウスの消去法)をプログラムとしてコンピュータに実裝し、1000萬未知數の問題を解くとどのくらいかかるでしょうか? 市販の性能のよいコンピュータでも理論上1萬年以上かかります(笑)。
ですがこの研究室では、より効率のよい通信方法?通信削減方法や計算方法を考え、コンピュータも非常に高性能なものを用いることで、20~40分程度で解いています。

  ところで、連立一次方程式を解く必要性とはなんだと思いますか? 実は、我々の生活とひっそりと関係しています。例えば、GPSの位置情報、電磁波?流體計算による攜帯電話やトイレの設計、ゴルフボールの設計、他に検索エンジンのGoogleで使われているウェブページの重要度を決めるアルゴリズム“ページランク”も似た計算手法が使われています。また、最近ではコロナ禍で話題の飛沫シミュレーションにも一部使われています。ですから、連立一次方程式を効率よく、速く解くというのは本當に重要なことなのです。

■今後の展望をお聞かせください。

  現在、取り組んでいる研究を著実に積み重ねていきたいと思っています。それは昔、広島大學の教授の退官記念講演で聞いた話が、今も私の中に鮮明にあるからです。例えば、Aさんは20XX年に、すごい業績を挙げました。でもその前後は何もしていません。ですからグラフ上でのAさんの業績は、デルタ関數のようなすごい上昇率です。一方、Bさんは小さいこと(aという業績)を積み重ねてきました。日々の努力を積み重ねて、小さな業績をためてきています。このグラフの橫軸の人生を無限大として、縦軸と橫軸で囲まれた範囲の面積を求めると、Aさんの面積は1です(デルタ関數は無限大まで積分すると1となる性質があります)。でもBさんは何かしら小さな実績をずっとためてきているので面積は無限大となるのです。
  教授がこの例を通しておっしゃったことは、若い人は大きな功を急ぎ、特大ホームランのような業績を目指しがちだけれど、それよりも日々を積み重ねる努力をしなさいということでした。その方が、研究者人生が終わったときに大きな業績になるということです。それはぜひ學生や今の若い人にも伝えたいことだなと思います。


■最後に受験生?高校生へのメッセージをお願いします。

  今年は新型コロナウイルス感染癥で、これまでとは違った日々になっていますが、そんな今だからこそできることを探してほしいと思います。 先日のゴルフ全米オープンで優勝したブライソン?デシャンボーというアメリカ人ゴルファーがいます。彼はこのコロナ禍でゴルフクラブをほとんど振れなかったので、基礎體力トレーニングに徹底して取り組んだそうです。その結果、飛距離が伸び、ショットの精度が上がり、優勝しました。これも新型コロナウイルス感染癥で自粛しなければならない時期にしかできないことを見つけて取り組み、それが実を結んだという大きな一例だと思います。 みなさんにも、そういう今しかできないこと、今だからこそできることを探して、取り組んでもらいたいですね。

コンピュータサイエンス學部WEB:
http://www.newagehillbilly.com/gakubu/cs/index.html