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

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

研究・教育紹介

東京工科大学 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:
https://www.teu.ac.jp/gakubu/cs/index.html