「モデル化」という言葉

最近「モデル」という言葉の定義そのものが、自分の中で認識が怪しい。

「モデル化」という言葉の使い方に、若干の難を感じている。色んな使われ方があると思うが「抽象化」と考えるのが一番しっくりくる。

数学で言えば、現実世界の具体的な事象を、数式という抽象的な言葉で表現する事をモデル化という。

機械学習で使われるモデル化というのも、AI を使って解きたい現象を、抽象的なロジックにする(アルゴリズムに落とす)ことをモデル化と呼んでいる。

ただ、人によっては、ニューラルネットワークを使って数字の分類を行いたい場合に、ネットワークの構造までを含めて(問題を解く、動作するプログラムまでの事を)モデル化すると呼ぶ場合もあれば、「ニューラルネットワークというモデルを使って、AI をモデル化する」などと言う事もある。

個人的にはニューラルネットワークやサポートベクターマシンのようなものは「AI アルゴリズム」と呼び、CNN や RNN のようなものは「AI アーキテクチャ」と呼び、それらを使って問題を解くために構築した実装を「AI モデル」、その一連の工程を「モデル化する」と認識すれば、理解しやすかった。

macOS の環境構築

使っている mac が 128GB しか SSD 容量が無いため、定期的にクリーンインストールして環境を再構築している。その度にやり方を忘れるのでメモ。

# US-Keybord での日本語
標準だと Command + Space には Spotlight 検索
Control + Space には入力切り替えが割り当たっている。これらのショートカットキーは System Preferences -> Keyborad -> Shortcuts で設定する。

ABC と Hiragana などの入力切り替えのショートカットを行うには Input Sources -> Select the previous input source にチェックを入れる。その上で、標準だと Command + Space になっているが、キーが離れているため入力がやりづらいため、Command + Space に変更する。その後に、ショートカットキーが衝突していると言われるので、Spotlight 検索の方を Control + Space へと変更する。

# docker
インストール後に Sign In するときは、メールアドレスだと docker pull に失敗する現象があった。ユーザー名で Sign In する。

# miniconda
Python 3.7 pkg ファイルをダウンロードしてインストール
https://docs.conda.io/en/latest/miniconda.html

# unity
最近だと Unity Hub を DL, Install してから、その中から Unity 本体の Version を指定して Install するみたい。デフォルトだと、Visual Studio for Mac がインストールにチェックが入っているが、容量がきついのでチェックを外す。代わりに Visual Studio Code が使える。

# Terminal 名の変更
System Preferences -> Sharing から変更できる。

数学の大切さ

DirectX とか OpenGL とか、シェーダー言語は割とどうでも良くて、jpeg が圧縮できる仕組みを数学で説明できたり、クォータニオンが回転できる仕組みを数学で説明できる方が、価値がある知識だと思う。

Amazon Go の発想

近所のサミットで買い物をしていて、混んでいるレジに並んでいた時に、ふと Amazon  がレジを通らなくても商品を買える店を出していたことを思い出した。

今までは技術的な問題 (商品の識別。購入可否の判別)で、人がレジを通して商品を識別するしか無かったが、センサー類やAI技術の発展がカメラに映るだけ?で、商品の識別を可能にした。

商品をカゴに入れ、レジに持っていくという事に疑問を感じ、最適化・自動化できるだろうという発想に至ったのは凄いし、机上の空論では無く、それを実現するだけの体力と技術も合わせているのも凄い。

Google Earth を見るのが好きだという人がいる

Google Earth で地球を見るのが好きだという人がいる。
マウスのクリックだけで、自宅にいながら自分たちが住んでいる地球を散策し、冒険に出られる素晴らしいサービスだ。

オリジナルのアイディアは Google が作ったものではないが「地球を見る」という体験を世界に広め、人の価値観や生活の一部をも変化させる、誰もが知るサービスとして成長させたのは凄い。

もし Google Earth に匹敵する同じようなサービスがあるとしたら、それはどういうものになるだろうか。どんな体験になり、どんな技術が必要になるだろうか。

ゲーム制作ツールの進化への追従

今に始まったことでは無いのですが、ゲーム制作のツールやミドルウェア類の進化が早すぎて、新しいバージョンの更新情報に追いついていくのが大変です。

特に Unity や Unreal Engine などはアップデートの頻度が多いため、少しの間に開発から離れると、次に新機能に対応するのにはやはり少し時間が必要になります。

普段、アップデートの把握が必要なソフトウェアは自動で監視して、もし更新がある場合はリリースノートなどの情報も自動で取ってこれるような仕組みを作りたい。

仕事に対して途方に暮れる気持ち

現在進めている仕事に対して少しだけ途方に暮れる感じがあります。

明確な大タスクが存在せず、明確なミッションも無く、他で溢れた仕事が回ってきているのも多くあります。

その上で、直近でやらなくてはならない難度の高いタスクがあり、それを何からどうやって進めたら良いのか分からずに、途方に暮れてやる気が出てこない感じ。

たぶん自分の能力の限界にもぶつかっていて、焦燥感のようなモヤモヤと自己過信に過ぎない驕りの両方があるんだと思います。

この仕事が上手く行かないのは、自分のフィールドでは無いからだ。他の仕事ならきっと上手く行くはずだ」ってね。

そんな自惚れの気持ちも冷静になって考えれば自分の中から出てきそうです。本当に良く無いですね。

勉強する事は沢山あり、目の前の仕事は沢山あります。

今の自分を冷静に見つめ直し、自分がやりたい事、やらなくてはならない事を、一度振り返ってみる時間が必要かな。

プロジェクトマネジメント

  • 全体感をつかむ
  • 目的と目標 (=成功基準) を明確にする
  • 体制 (=ステークホルダー) を明確にする
  • 要求事項の収集・整理をする
  • 作業を洗い出す

(マンガでわかるプロジェクトマネジメントから)