ブログ 2020年5月


3月から1週間ごとにブログを書こうとか思っていて一ヶ月ぐらい続いて、4月には2週間に1回の更新になって、5月はこれが初投稿のブログになった。もうこれから月1ペースでいいかなと甘えた考えが頭によぎっているところである。

MacbookPro2020 13インチを購入

買うに至った経緯

今までWindowsしか触ってこなかったが、自分の周りの人でMacを使っている人も多く、プログラマーはMacが安定みたいに言われている。Macの人からするとWindowsでプログラミング環境を作るのがめんどくさいとか言ってるし、実際俺も環境設定とかめんどくさいことが嫌いだ。きっと一流のプログラマーはWindowsガシガシ使っていけるのだろうけど、俺みたいに簡単に使えればいいやという考えの持ち主は最初からMacを使えば良かったのかもしれない。

ということで、今月頭に発表されたMacを次の日に予約した。実際プログラミングではそんなスペックはいらない(予定)なんだけど、動画編集とかを最近やりだしたから、将来的なことを考えて、CPUとメモリはマックスで積んで、ストレージ1Tで30万ぐらいのを買った。俺がこれまでの短い人生の中で買ったものの中で一番高い買い物だった。まぁ10万円支給されるしいいだろう。

それが23日に届いた。俺のようにカスタマイズをかけた人は届くのが遅いらしく、随分と待たされた。

良いところ悪いところがたくさん

Mac OSなんて触ったことないし、若干Appleを嫌っているだけあって最初は戸惑った。というか触っていてWindowsとのギャップでイライラした。まずCドライブたるものが表示されていないし、アプリケーションへのアクセスも意味わからないところにある。そして、詳細な設定ができず(これは今でも困っている)、全画面表示したいのに別の仮想デスクトップみたいなところに開けちゃうという仕様。今まで触ってきたPCとは別世界が広がっていた。

だが当然良い点もたくさんある。このアップルのキーボード配列も初めて触ったがこの変換方式はしっくりくる。特にプログラミングをしていると、アルファベットと日本語は頻繁に切り替えるから、Windowsのように変換が一箇所にあると混乱しやすい。それが防げる。そして、アプリのダウンロードとか、プログラミングの統合開発環境とかのインストールも驚くほど簡単にできていて、インストールを押した後説明に従ってボタンを押すだけでできる。これが噂のぬるい環境設定かと感心した。これぞ求めていたという感覚。Javaを入れたら勝手にパスが通って驚いた。

少し専門的な話になるが、シェルもzshが初期装備されていて、めちゃくちゃいい。カスタマイズしやすいし、みんなが言うファイル補完機能も素晴らしい。Macが届くまでの間暇だったからシェルについてもう一度基礎から学んでおいたので、これまで以上にシェルを使いこなしている感を感じるのかもしれない。

Type-cになったこととか(逆にType-cしかないことが批判されることが多いが俺はむしろ全部Type-cでいいと思っている)ipadとの連携とか、いいところをあげたらキリがないからこの辺でやめておくが、結果大満足。なんかプロのプログラミング環境を手に入れたと言う感覚。これからの研究に身が入る。

iPadと連携してデュアルディスプレイで作業ができる。ドトールで作業することが多いのだが、周りから見るとイカツイ。今まではモバイルディスプレイを持って歩いていたがあれはめちゃくちゃ重いしケーブルがたくさん必要だった。これができることによって持ち物がだいぶ減った。

他のプログラマーの人がどう感じているか分からないが、プログラマーって大きな画面はいらないけど画面がたくさん欲しいよね。俺だけかな。

これは後述するOpenAIGymというものについてのスライドを作成している様子。

オンライン実習環境を整える

自分の授業は全部ビデオを見て課題を解く系のオンライン授業なんだけど、TAの実習はカメラとマイクを使って学生の質問に答えるというもの。それをMacでやろうと思ったら、インカメの画質がとんでもなく悪かった。

ほんと見えるところだけ壮大に良く見せて、あまり目立たないところはコストカットしているのを感じた。でもこれからの時代インカメの画質は大切になってくるでしょう。

ということでウェブカメラを買いたくなってAmazonを探したのだが、このご時世普通の価格では売っていない。それはわかっていた。どの電気屋を回っても(空いているところ)ウェブカメラ売り切れと貼紙が貼られていたから。

だからAmazonの中古でロジクールの良さげのやつを購入。箱とかもついていない製品だったが使えるし、性能も良い。画質が良過ぎて部屋の様子まで詳細に写ってしまうぐらいよくてむしろ少し荒いやつの方が良かったかなとすら思う。

そしたら今度はカメラ位置を変えられるようにと三脚を購入することになった。何となくYouTuberのデスク紹介的な動画でよく出てくるゴリラポッドというのが印象に残っていて、それを購入。これも結構いい値段した。

特におすすめなのが、iPadをPC画面に出力しているということで、これによってホワイトボードを書きながら説明ができる。これができるようになる前はiPadに手書きしたものをWebカメラに見せるというアナログ手法を使っていたがこれで解決した。

左の小さいディスプレイが画面共有される画面になっていてそこにホワイトボードを置く。もしプログラムコードを共有したいとなったらこの画面に移動すれば良い。

 

俺は先生でもないのに結構設備考えたなと自分でも思うが、これからの時代リモートで働くことが多くなるだろう、たとえコロナが終わったとしても、と思い、どうせそうならという思考で色々揃えた。

実際今質問対応の仕事もしているんだけど、例年はどっかの教室で学生が来るのを待っているんだけど、大抵来ないし、俺も学部時代一度も利用したことがない。だけどそれをzoomでやっている今は毎回人が来る。オンラインにすることによって質問しに行くハードルが下がるんだろうなと思う。これがオンラインのいいところ。これからも質問対応は全部zoomでやりたい。

研究について

勉強したこと

5月にやったことといえば、Macの環境構築が忙しかったのと、コマンドやシェルについてを一から勉強しなおしたことが主なこと。プログラムを書く人間でありながら今まで環境構築やシェルを使うことに苦手意識があった。でも一から勉強しなおしてみると、初めは知っていることばかりだったが、抜けているところがあったり、知らない使い方があったりと、めちゃくちゃ勉強になった。昔から思っていたが、応用をたくさん知っていることよりも基礎が固まっている方が強い気がする。

OpenAIGymを触ってみた

Open AI Gymという強化学習用のツールキットがあって、それを触り始めた。

これは倒立振子と呼ばれる強化学習の基本的なタスクで、これを解くためのプログラムを作ってみました。

簡単にいうと、棒が倒れないように制御するというのを機械に覚えさせるというAIを作るということ。

これが実際の学習をグラフ化したもので、学習が進むにつれ生存時間が増えていく様子が分かります。もちろん学習によってグラフの形は変わります。

OpenAIGymには倒立振子のような基本的な環境を含む様々な環境が用意されています。興味がある方がいれば調べて見てください。

 

現時点(6/2)で自分の研究の方針について、ゲームAIを進めていくか、データ分析、データサイエンスを進めていくか迷っています。どちらもやりたいことだから、M1の間は興味の赴くままに手を動かしていく気がする。目標としては強化学習とゲームAIでポスター発表をするぐらいはしたいし、M1の間に論文を1本以上は書きたい。

 

 

コメント

タイトルとURLをコピーしました