AWS Solutions Architect - Associate(SAA)に合格した

昨日Solutions Architect - Associate(以下SAA)を受験し、合格しました。記憶が鮮明なうちにやったことをメモしておきます。

f:id:aoki-shiraki21:20210627080007p:plain

前提のスペック

この手の記事でありがちなのは、スタートラインが違うことで当てにならないことなので関連するスペックを書いておきます。

  • 非情報系学部卒
  • 基本情報技術者:取得済み
    • ごくごく初歩的なネットワークの構造は理解できている。(階層モデル、CIDRみたいな単語はわかる)
  • ソフトウェアエンジニア歴:0.5年
  • AWS使用経験:実務経験なし。研修の意味で、以下の本を入社時に学んだくらい。
    • EC2,VPCあたりの単語はかろうじて知っている程度

動機

元々はネットワークの勉強を始めたかったことがきっかけです。が、本で読むだけではいまいち実感を持って理解できないので、実際に動くもので勉強をしたくなりました。
会社でも使用されているAWSを体系的に学んでみることに。

なぜSAAか?

いまいち違いがわかっていなかったですが、ググったところこれが最も基本的なものだと書いてあるものが多かったので。
クラウドラクティショナーはサービス単体の問題が多いようなので、今回の学習動機とは違うと思いパスしました。

勉強期間、時間

  • 2021年6月
    • 1ヶ月、70時間くらい

勉強内容

AWS Well-Architected フレームワーク

  • 最初に、思想の部分が強く書かれているこちらを一読しました。
  • 細かい単語はわからないものが多かったですが、こういうことを考えているのねっていう抽象的な部分に一度触れてみるという意味で最初にやりました。

aws.amazon.com

  • 情報源が散らばっているよりも1つのものを繰り返し覚える勉強法の方が得意なので、本はとりあえず書いました。
  • 内容はどれでもそんなに変わらないと思いますが、比較的新しい(2021年1月発売)こちらを勉強しました。
  • とはいえ、明らかに情報量としては足りないので、後述する問題演習の際に、メモを集約する場所として使っていました

講義動画

  • 本だとハンズオンが足りないので、Udemyの動画を参考にしました。
  • 全部やると時間がかかりすぎるので、基本的なサービスだけは実際に手を動かす、それ以外はハンズオンの動画を流し見る、という方法にしました
  • 動画は結構丁寧に話しているので2倍速でも十分聞き取れると思います
  • edXなどを勉強していても思いますが、初見で動画よりも、本などで一度言葉を知った上で内容の理解を深めるために動画を使用する方が定着が良い気がします。好みの問題かもしれませんが。

www.udemy.com

Udemyの問題演習

  • あとはひたすら問題演習をしました
  • 上の講義動画にも3回分の演習が入っているので、合わせて9回分(問題の重複はありますが)で十分な量でした

www.udemy.com

公式のサンプル問題

  • 公式ページから、サンプル問題が10問ダウンロードできるので、それは目を通しました
  • その10問に関しては、内容を覚えるというより、こういうレベルだったり言葉遣いの問題が出るのね、というのを事前に体感しておくものとして精神衛生上大事でした

aws.amazon.com

Black Beltサービス別資料

  • ざっと各論の確認ように読んだ
  • 資料によって情報量がバラついていたり難度が違ったりするので、試験に向けてという意味では、良くある質問とかを読んだ方が良かったかも。

aws.amazon.com

学んだこと

  • これをとったことで、今からインフラエンジニアとして働ける、構成をイチから作れるか、というとそんなことはないです
  • 少なくともサービスの概要と、基本的な構成図は理解できました。その恩恵としては以下のようなものがあります。
    • slackを流れる会話やAWSからの通知が多少意味がわかる
    • 自社、他社の構成図を見たときに簡単なものであればやりたいことはわかる
    • AWSの学習を他の本やネット上の情報で進めることができる

今後

  • 少なくともアソシエイトレベル3つは取り切る予定です。その上をどうするかは、実務との兼ね合いでまた考えます。

深層学習系の読んだ論文まとめ

文系から独学で勉強を始めたので元々論文を読む習慣がなく、慣れるために少しずつためていっています。

論文の読み方についてはmoocsではお馴染み、アンドリュー先生によるこちらを参考にさせていただいています。

ainow.ai

CNN

ImageNet Classification with Deep Convolutional Neural Networks

https://dl.acm.org/doi/10.1145/3065386

  • キーワード
    • ImageNet
    • Convolution
    • ReLU
    • Dropout
  • 熟読度
    • 1時間程度でさくっと。
  • 著者(たち)は何をやり遂げようとしているのか
    • CNNを使用して、ImageNetデータセットの分類を高精度で行いたい(そもそも論文執筆(2012年)以前はdeep learningも含めて、画像の分類はそこまで精度が高くできなかった)
    • CNNベースのモデルを使用することでこの市のコンペティションにおいて2位に大差をつける成績を収めた
  • 執筆目的に対するアプローチでカギとなる要素は何か
    • 深さのあるCNN(5層のConv層と3層のDense層を使用した)アーキテクチャを採用することで精度を上げる
    • ReLU関数を使用することによる学習の高速化(それまではtanh(x)やsigmodが主流だった様子)
    • 過学習を防ぐためにデータ拡張とDropoutを使用する
  • 論文の内容を自分で使うことができるか
    • 今となっては常識のようになっているので直接使えるものではないが、当時何が新しかったのかの勉強になった
  • 読んだ論文以外でフォローしたい参考文献はあったか
    • Dropoutについて書かれた論文
    • G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural net- works by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.

セマンティックセグメンテーション

U-Net: Convolutional Networks for Biomedical Image Segmentation

arxiv.org

  • キーワード
    • context and localization
    • pixel level
    • FCN
    • U-Net
  • 熟読度
    • 2時間くらいでザックリ
  • 著者(たち)は何をやり遂げようとしているのか
    • 利用可能なアノテーション済みデータを効率的に利用するためのモデルを構築したい
    • 特に今回はピクセル単位の予測をしたいが、生物医学の分野において、大量のデータを用意することは困難なため
    • 技術的な課題としては位置に関する情報とcontextの抽出とにトレードオフの関係があること
  • 執筆目的に対するアプローチでカギとなる要素は何か
    • CNNのdownsamplingとupsamplingを対称的な形状に配置する
    • FCNの縮小経路と拡大経路を多数結びつけることで、contextに関する情報も残して元の解像度に伝えることができる
  • 論文の内容を自分で使うことができるか
    • 畳み込みの抽象度を複数活用するというアイディアを活用できそう
    • レイヤを深くすることで位置情報や細かい情報が落ちてしまうので、統合的に捉えたいときはまず検討してみると良さそう
  • 読んだ論文以外でフォローしたい参考文献はあったか
    • U Net以前のpixel単位の予測方法として引き合いに出していた論文
    • Ciresan, D.C., Gambardella, L.M., Giusti, A., Schmidhuber, J.: Deep neural net- works segment neuronal membranes in electron microscopy images. In: NIPS. pp. 2852–2860 (2012)

Seed, Expand and Constrain: Three Principles for Weakly-Supervised Image Segmentation

arxiv.org

  • キーワード
    • weekly-supervised training
    • semantic segmentation
    • weak localization
  • 熟読度
    • 2時間程度。数式などの細かい部分は読み飛ばした
  • 著者(たち)は何をやり遂げようとしているのか
    • deep learning技術の発達により、正しい正解データが大量にあれば学習を進めることはできるようになってきている
    • 一方で画像データにラベルづけを行うことは時間とコストがかかりボトルネックになっている
    • 比較的コストのかからない単純なラベル付きデータ(1画像につき1つのラベル)を使用してセマンティックセグメンテーションを高精度に行いたい
  • 執筆目的に対するアプローチでカギとなる要素は何か
 - 以下3つを求める損失関数を組み合わせる
      - 1. CAMの要領で分類タスクからオブジェクトの位置を予測する
          - 分類タスクを行なったネットワークはlocal情報に関する手掛かりになることを使用する
      - 2. globalなプーリングによるラベルとの一致測定
      - 3. 境界を正しくとらえるための制約をかける
          - 不連続なセグメンテーションに制約をかけることでオブジェクトの境界と一致するマスクを生成することを学習するようになる
    
  • 論文の内容を自分で使うことができるか
    • weekly-supervised trainingという学習方法を知らなかったので勉強になった。必ずしも学習したい対象がデータとしてなくても似たことを学習させる圧力が働くように損失関数を組み合わせることで近い解を導出できるというのが面白い。
  • 読んだ論文以外でフォローしたい参考文献はあったか
    • 特になし

ChangeNet: A Deep Learning Architecture for Visual Change Detection

paperswithcode.com

  • キーワード
    • Change Detection
    • Siamese Network
    • FCN
    • ChangeNet
  • 熟読度
    • 7~8割読んだ
    • 実装を試した
  • 著者(たち)は何をやり遂げようとしているのか
    • ドローンによる公共スペースの視覚的な変化、特に季節要因などの変化を除いた特定対象物の変化を検出したい
      • 過去画像との比較は季節による変化(雪など)や画像自体のコントラストの変化などの条件が重なるため単純な比較では難しい
    • セマンティックセグメンテーションだけではなく、変化のラベルも同時に特定したい
  • 執筆目的に対するアプローチでカギとなる要素は何か
    • Siamese NetとFCNのアイディアを組み合わせたChange Netアーキテクチャを提案する
      • Siamese Netから複数階層の特徴量を取り出すことで、2つの画像から同じ処理をした複数の抽象度の特徴量を生成する
      • Siamese Net内部にはResNetを使用するが、出力を全結合にせず、1x1ConvとDeconvolutionによるサイズの復元を行う
  • 論文の内容を自分で使うことができるか
    • 構造がシンプルなためSiamese Net内部を変えたり、分類に使用したりなどここから応用してみることができそう
  • 読んだ論文以外でフォローしたい参考文献はあったか
    • Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmenta- tion. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. (2015) 3431–3440
    • Ronneberger, O., Fischer, P., Brox, T.: U-net: Convolutional networks for biomedical image segmentation. In: International Conference on Medical Image Computing and Computer- Assisted Intervention, Springer (2015) 234–241

Change Detection in High Resolution Satellite Images Using an Ensemble of Convolutional Neural Networks

ieeexplore.ieee.org

  • キーワード
    • change detection
    • pre-process
    • Siamese Network
  • 熟読度
    • 2時間程度でさくっと(構造は他の読んだ論文と似ていたため)
  • 著者(たち)は何をやり遂げようとしているのか
    • 特別な前処理をすることなく、2枚の画像の変化検知を行いたい。
    • 従来であれば、画像の変化検知には、対象となる物体と、色などの変化とを区別するために前処理が必要であった。
    • そのような前処理はそれ自体が大変なタスクであり、かつそれでも信頼性に欠ける可能性がある
  • 執筆目的に対するアプローチでカギとなる要素は何か
    • Siamese NetとUNet的な構造をアンサンブルすることで、差分特徴量を抽出する
    • 3つのモデル(VGGベースのUNetをデコーダーの長さによって2種類、Siamese Netベースのモデルを1種類)を別々に学習させ、最後に分類が最大化するように閾値の処理を行う
  • 論文の内容を自分で使うことができるか
    • 通常のUnetとSiameseNetを使用した構造をアンサンブルすることで精度を上げようという発想
  • 読んだ論文以外でフォローしたい参考文献はあったか
        1. Alcantarilla, S. Stent, G. Ros, R. Arroyo, and R. Gherardi, “Street- view change detection with deconvolutional networks.” in Robotics: Science and Systems, 2016.

可視化

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

[1610.02391] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

  • キーワード
    • visual explanations
    • Grad-CAM(Gradient-weighted Class Activation Mapping)
  • 熟読度
    • 1時間程度でさくっと
  • 著者(たち)は何をやり遂げようとしているのか
    • CNNモデルに対して、「視覚的な説明」を作成し、モデルの説明可能性を上げる
      • CNNは様々な応用がされているが、解釈が難しい
      • そもそも一般的に精度と解釈のしやすさはトレードオフにあり、対照的なのはルールベースの方法
  • 執筆目的に対するアプローチでカギとなる要素は何か
    • 最終的な畳み込み層に流れ込む「勾配」を使用することで画像内の重要な特徴を強調する
      • 最終的な畳み込み層は空間情報を保持しつつ、セマンティックな情報も保持していると考えられる
      • 勾配(のglobal average pooling)が大きいほど、最終的な分類に対して重要な情報を持っていると解釈できる
  • 論文の内容を自分で使うことができるか
    • CNNの分類に対し、影響の大きい部分を特定するのに活用できる(というかそのまま)
    • 出力層だけではなく、中間層との関係などにも同様のアプローチが使用できることがわかる
    • モデルの解釈可能性を調べるために、「人間にとって信頼性が高いと思うか」を実際に実験している点が面白い
  • 読んだ論文以外でフォローしたい参考文献はあったか
      1. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich Feature Hier- archies for Accurate Object Detection and Semantic Segmentation. In CVPR, 2014. 1

Coordinate Systems & Infinite Seriesを受けた(edX / MIT)

昨年受けた微分のコースの続き(積分が受けられなかったので1つ飛ばしていますが)を受けました。

f:id:aoki-shiraki21:20210508105836p:plain

リンク

www.edx.org

概要

MITのおそらく学部1年生向けの微積シリーズの1つです。これは3番目のコースで、極座標級数あたりを学びます。

順番的に当然ですが、基本的な微積分の計算はできる前提で講義は進みます。(Prerequisitesでも指示されています)

1つ目の微分基礎を受けたときのまとめはこちらです。

aoki-shiraki21.hatenablog.com

シラバス

Unit 1: Coordinate Systems

  • Parametric curves
  • Introduction to polar coordinates
  • Calculus in polar coordinates

Unit 2: Understanding Infinity

  • L'Hospital's Rule
  • Improper integrals
  • Singularities and improper integrals
  • Introduction to infinite series

Unit 3: Infinite Series

  • Advanced convergence tests for series
  • Power series and Taylor series
  • Manipulating power series

受講目的

統計にせよ、機械学習にせよ、微積は基本なので練習問題をたくさん解ける講座はうけるようにしています。

受講期間

2021年2月~5月

大学でいえば1ターム2単位指定って感じですかね。

副読本

並行してこの本を進めています。講座の方で証明が飛ばされていたりするので、本で理解の確認をしています。

感覚的に、動画は直感的な理解、本は何度も繰り返して定着させるのにそれぞれ向いている気がします。

数研講座シリーズ 大学教養 微分積分

チャート式シリーズ 大学教養 微分積分 (チャート式・シリーズ)

感想

  • 半分くらいの動画が、実際の講義の録画。でもそれで十分わかりやすいのがすごいです。板書が綺麗で、説明もハキハキしており、質疑応答が頻繁に発生します。
  • 一方で極座標表現の関数の動きなどは、ポインタ などを操作し、動的に確認することができます。この辺りはオンラインでの講座ならではで非常によかったです。紙だと初見でイメージが湧きにくいので。
  • 練習問題で計算のややこしい問題を普通に出してきます。これくらいはスラスラできた方が良いという基準がわかります。
  • 級数の収束/発散判断やテイラー展開の計算あたりは、一般的な微積の入門書には載っていない範囲まで例や計算方法が載っており理解が進みました。この辺りの分野は本だと最後の方にちょろっとついているだけのようなものも多い中で、1つの講座として独立させてガッツリ説明しているというのが、この講座の1番の価値かなと思いました。

今後

チャート式の微積の勉強が片付いたら、微分方程式に入っていく予定です。講座はまだ先なので、それまでに移れるようにゆっくりやっていきます。

www.edx.org

Deep Learning(ディープラーニング専門講座)を受けた(Coursera)

研修も兼ねて、Deep Learningの基本的な講座を受講しました。思ったよりボリューミーでコーディング課題も結構ありよかったですね。

f:id:aoki-shiraki21:20210424075951p:plain

リンク

www.coursera.org

概要

moocs界隈でも最も有名な講師の一人?のAndrew Ng先生のDeep Learning講座です。Andrew先生の軽快な語り口調が心地よいです。

基本的な理論からPython実装(Numpyでの簡単なスクラッチ実装からKerasまで)を学べます。

シラバス

専門講座にあたるため、複数の講座をまとめて1つの講座になっております。今回は5つの講座がありました。

1: Neural Networks and Deep Learning

  • Introduction to Deep Learning
  • Neural Networks Basics
  • Shallow Neural Networks
  • Deep Neural Networks

2: Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization

  • Practical Aspects of Deep Learning
  • Optimization Algorithms
  • Hyperparameter Tuning, Batch Normalization and Programming Frameworks

3: Structuring Machine Learning Projects

  • ML Strategy (1)
  • ML Strategy (2)

4: Convolutional Neural Networks

  • Foundations of Convolutional Neural Networks
  • Deep Convolutional Models: Case Studies
  • Object Detection
  • Special Applications: Face recognition & Neural Style Transfer

5: Sequence Models

  • Recurrent Neural Networks
  • Natural Language Processing & Word Embeddings
  • Sequence Models & Attention Mechanism
  • Transformer Network

受講目的

DLによる画像解析系の企業で働くことになりました。機械学習については勉強を始めていたものの、DLについては素人のような状態だったため基本的なことが一通り学べそうなこちらを受講しました。

結果、目的にかなう非常に良い講座だったなと感じています。

受講期間

2021年3月~4月

1ヶ月想定の講座が5つで合計5ヶ月が想定ペースなので、かなり詰め込みました。(Courseraは自分のペースで進められることができ、月ごとに課金が発生するような講座が多いです。この講座もそれにあたります)

副読本

ゼロから作るDeep Learningは何周も読み込みました。とにかく説明がわかりやすくておすすめの1冊です。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

後半Kerasでの実装も入ってくるのでこちらをザーッと読みました。Kerasは実装するだけならシンプルなので、読まなくても受講上は問題なかったかな。

本ではないですが、途中でTensorFlow2の使い方を覚えるためにこちらに寄り道しました。本だとver1.X系が多いんですよね。。

aoki-shiraki21.hatenablog.com

感想

  • 冒頭にも書きましたが英語、話し方が心地よいです。そんなに英語得意じゃないけど理解しやすい部類だと思います。
  • ゼロから作る〜と同じく、誤差逆伝播は計算グラフでの説明。導入としては微分の式よりも直感的でわかりやすいです。
  • 実装がPythonなのもありがたい(machine learning講座の方もPythonでいいのに)です。さすがにPythonの基本公文は書けることが前提ですが、Numpyは講座内で簡単なチュートリアルがあります。
  • ノードを増やして、サンプル数を増やしてと視覚的に広がるのがわかるので、行列の復習にもなります。空間的な広がりは動画の方が伝えやすいなと他のmoocsを見ていても思います。
  • 正則化や初期値についても、順番にコードで確認できるので実感値を持って覚えることができるのはすごく良いです。実際にさわってみて、結果が違うことを体感できるのが結局一番覚えられます。
  • 2講座目の最後にあるTensorFlowのチュートリアルは1.x系で書かれているけど、まあまだ世の中のソースは1.x系で書かれていることも多いので読めるようにしておくって意味でこれくらいは勉強しておいてもいいかと。
  • CNNもedgeの特徴を掴むとはどういうことか?から教えてくれて理解がしやすいです。
  • CNN,RNNについても典型的な応用例まではカバーできる。ここまでは最低限抑えて、これ以上のことだと論文などを探すってことになってくるのかな。

今後

今年は最新の論文を追うところまでというより、まずは理論と基本的な実装を完璧にすることを優先する予定です。

具体的にはゼロから作る〜の残りの2,3を読んだり周辺の理論本を読んで基礎を定着されることからやっていこうかなと。

ゼロから作るDeep Learning ❸ ―フレームワーク編

ゼロから作るDeep Learning ❷ ―自然言語処理編

そのあとは、GoogleのTensorFlow CertificationやAWS上での機械学習の実装について勉強していきたいですね。

www.tensorflow.org

Getting started with TensorFlow 2を受けた (Coursera / Imperial College London)

TensorFlowのチュートリアルがてらCertificationまで取得しました。
しかしCourseraのピアレビュー方式採点は謎が多い。。

f:id:aoki-shiraki21:20210327164250p:plain

リンク

www.coursera.org

概要

「TensorFlow 2 for Deep Learning」の中の1つの講座です。主にSequential型の書き方について解説されています。

シラバス

  • Introduction to TensorFlow
  • The Sequential model API
  • Validation, regularisation and callbacks
  • Saving and loading models
  • Capstone Project

受講目的

珍しく最初から受けようと決めていたものではなく、その場で受けてみようと決めたタイプの講座です。
TensorFlowのテキストを探していたのですが、出版されているものの多くがバージョン2.x系に対応しておらずまとまった情報で学習するとっかかりが難しい状況だなと感じました。新しい言語やフレームワークに触れるときはまとまった情報をガッとインプットしてしまいたいタイプなので、書籍学習の代替となるものを探していてこの講座を見つけました。

受講期間

2021年3月~3月
業務でTensorFlowを使用することになるため、まとまった時間を設けて一気に受け切りました。

副読本

目的にも記載した通り、副読本と言える本はなかったのが実情です。

深層学習そのものの確認という意味では、ベタですがこの2冊を確認しながら進めました。ゼロから作る〜の内容くらいはわかっていた方が有意義(というか、わからないと何をしているかわからない?)と思います。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)

感想

  • 書籍でTensorFlowのバージョン2.x系に対応しているものが少ないので、チュートリアルだと思えば貴重な講座。課題のたびにモデルの設計から書かせるので、最終課題も終わる頃には基本的なSequentialモデルは記述できるようになっていると思います。
  • 注意点としては、「よし深層学習の勉強をするぞ!」と思っていきなりこの講座から始めても意味がわからない気がします。ニューラルネットワークがなんだ、畳み込みとはなんだ、みたいな説明はほぼありません。あくまで基本的な理論は学習済みで、それをTensorFlowで記述するとどうなるのかの「Getting started」だと思ってもらえると。
  • モデルそのものの構築、学習、保存、読み込みの一連はもちろん、early stoppingやdropout、正則化など、学習を速くしたり過学習を抑制するための機能も基本的な実装方法は説明してくれます。これは地味にありがたいポイント。
  • 最近よくよく実感しますが、Pythonでデータ分析系の処理を行おうとすると基本Numpyがベースになるので、Numpyのデータ構造をよく学習してあるかがその他多くのフレームの学習効率に結構影響してくるんじゃないかと感じています。
  • 実際に単純なMPLに比べてCNNだと画像分類において少ないパラメータで速く正確に学習が進むことを見ると、純粋にすご、おもしろっ、って思えます。実装がさくっとできることの良さは、字面だけではなくて自分で実験して実感値を持って考えることができるようになることだなと感じます。

余談

課題の提出に若干クセがあるので受ける人は気をつけた方が良いかもです。

  • 最後の課題のpdf出力がうまくいかない場合はipynbで出力をしてしまい、直接拡張子を.pdfに書き換える力技でいきましょう
  • ピアレビューは待っていると、場合によってはいつまで経っても評価されません。(ディスカッションフォーラムには「1ヶ月くらい経ったけどまだ評価されないよ。。」みたいな投稿もありました)さっさと終わらせるにはフォーラムでアピールをしていった方が良いですね。まあそれをしないといけない仕組みはどうなんだってツッコミはあるんですが。

今後

  • もう少しまとまった学習ができたら、GoogleのTensorFlow Certificationを受けてみようかなと考えています。受験時間5時間で当然選択式ではなくコードを書かせる、それなりに重そうなCertificationですが。。

www.tensorflow.org

  • 上記のCertificationの事前学習として参考にされている以下の講座もバージョンが2.x系対応であれば受けてみようと思います。

www.coursera.org

トラックボール(ロジクール M575)に慣れてきたので、使いやすくする設定とかまとめておく。

*このブログはアフィリなど一切なく、純粋に思ったことが書かれています。

自宅で作業をする時間が増えてきたので作業環境見直しの中でガジェットを調べることも増えました。その中で今回は腱鞘炎に効果があると噂のトラックボールマウスを導入したので、設定周りなどのまとめ記事を残しておきます。

トラックボールマウスとは

エンジニアのデスク写真とかで見たことがある人もいると思いますが、マウスを動かすのではなくてボールをコロコロ転がすことでポインタを動かすタイプのマウスです。

マウスを動かさないので手首のひねりが少なくて済み、腱鞘炎対策に効果があると言われています。

今回はロジクールの定番がリニューアルされていたので、こちらを購入しました。

www.logicool.co.jp

1ヶ月ほど使ってみて

慣れが必要なので番人受けする製品では無いんだろうなとは率直に思います。使っているうちにクセになるタイプなので、「元々手に馴染みのあるものを使いたい」という性格の人とは相性が悪いのかなと思います。逆に「良い製品に自分を合わせて行きたい」という性格なら使ってみても良いのではと思います。

具体的に感じた点としては以下の通りです。フェアに、感じたデメリットも書いておきました。

メリット

  • (慣れると)スルスルって動く感じが心地よい
  • (慣れると)手首が楽になってきたことを実感できる
  • ディスプレイから離れて動画などを試聴する時も操作がしやすい
  • 外部ディスプレイからPCディスプレイへのポインタの移動など長距離移動が楽(後述する操作方法を知ってから感じた)
  • なんとなくギーク感があって触っているとテンションが上がる
  • マウス本体が大きいので、手を自然においた時に窮屈にならない
  • マウスを動かさないので、場所を取らない

デメリット

  • 慣れるまで変な力が入るので、むしろ腱鞘炎を引き起こしそうになった(後述する設定について知らなかったのもあります)
  • 重いので持ち運びには向かない
  • 割と頻繁にボールの接合部の掃除が必要(そんなに手間では無いけど頻度は高めな気がする)
  • 文字一つ分などの細かい操作はマウスに軍配が上がる

快適に使用するための操作、設定

本記事のメインパートです。使い慣れると気持ち良いんですが、慣れるのに時間がかかったので、買ったばかりの人の慣れが少しでも早くなるようにいろいろいじったのをまとめておきます。

設定編(ロジクールM575の場合の話です)

ポインタの感度は低めに設定して動きに慣れる

マウスの場合は、細かく操作するのが割と簡単なので感度を高めにして大きく動くようにしていると思います。が、トラックボールに慣れていない段階で、同じ感覚で設定するとヌルヌルと動きすぎて制御が効きません。。

最初はこれでもか、というくらい感度を低めにして、慣れてきたら徐々に上げていきます。(参考までに、下の画像は1ヶ月たった今現在の感度です。使い始めはこの半分くらいの値にしていました)

そんなんだと長い距離の移動どうするんだよ、っていうのは、後述する操作方法で対応します。

f:id:aoki-shiraki21:20210221085543p:plain

スクロールスピードはPCの環境設定で調整する

ロジクールの各種ガジェットの設定ができるLogi Optionsは便利なのですが、上の画像でもポインタの設定しか表示されていないように、スクロールスピードの調整ができません。

その割に、若干スクロールのボタンがカタ目かなと感じたので調べたところ、PC本体に調整する場所がありました。Macなら環境設定>マウス>スクロールスピードです。

f:id:aoki-shiraki21:20210221090233p:plain

ジェスチャーボタンを活用する

ロジクール製品を使うのであればジェスチャーボタンを活用するとスムーズにいろいろ操作ができます。特にトラックボールの場合はボタン+ボールのスライドで操作が可能で「マウスそのものを動かして操作」というちょっと大掛かりな操作をしなくて良いところが気に入っています。

参考までに私の設定は以下のようにしています。ボタン単品のクリックには「enter」キーを割り当てているので、マウスだけでコピペして検索、とかまで対応できるのが楽で良いです。

f:id:aoki-shiraki21:20210221090405p:plain

操作編

掴むというより手を乗せるように扱う

移動させるタイプの普通のマウスのように掴むと、指でトラックボールを使う時に力が入ってしまう感覚があります。トラックボールタイプはマウス自体が大きいので、大きさに手を委ねるように上から載せるようにすると良い感じになる気がします。

ボールを「弾く」感覚を覚える

これは、完全に下記の記事受け売りです。最初のうちは感度を低めにしようという話をしましたが、そんな時でも長距離移動が可能になるのはこの操作ができてこそということになります。

これはつまり、ボールであることを活かしてシャッとボールを弾くことでボールが慣性で少し回り続ける力によって長距離進むという原理です。慣れると楽しい操作で、なんでもないのにシャッと弾いてたりします。

www.benrilife.com

気持ち奥の方をつかむことでクリックをしやすくする

マウスが大きいので手がどちらかというと手前のほうに置かれがちな気がします。が、クリックのボタンの作り方を考えると先の方を押した方が支点から遠い分軽い力で押せるはずですし、実際そうでした。

なので、上で書いた手を乗せる感覚で、気持ち奥に指が届くように載せてあげるのが負荷なく使うコツなんじゃないかと思います。


とりあえずこんなところでしょうか。また使っていて気づいた事があれば追記します。

Probability - The Science of Uncertainty and Dataを受けた (edX / MIT)

Certificationを取得しました。今のところ、ダントツで重かったです。(重すぎて最終の期末テストの出来があまり良くなく、ブログに整理するのを怠っていました。。)

f:id:aoki-shiraki21:20210207125128p:plain

リンク

www.edx.org

概要

MicroMasters ProgramであるStatistics and Data Scienceの1講座です。内容は学部レベルの確率論になります。

シラバス

Unit 1: Probability models and axioms

Unit 2: Conditioning and independence

Unit 3: Counting

Unit 4: Discrete random variables

Unit 5: Continuous random variables

Unit 6: Further topics on random variables

Unit 7: Bayesian inference

Unit 8: Limit theorems and classical statistics

Unit 9: Bernoulli and Poisson processes

Unit 10 (Optional): Markov chains

受講目的

データサイエンス、特に機械学習の勉強をしたかったが、確率・統計が最低限わからないと理論的な部分を理解できなさそうなため。

受講期間

2020年9月~12月

副読本

定番のマセマや東大出版の本は読めないとついていけない感じです。逆にいえば、この講座をきちんとこなすころには下記レベルはスラスラわかるようになるとも言えます。
基本はこの2冊ですが、ベイズ統計はまともに勉強したことがなかったので追加で補強しました。

統計学入門 (基礎統計学Ⅰ)

統計学入門 (基礎統計学Ⅰ)

  • 発売日: 1991/07/09
  • メディア: 単行本

確率統計キャンパス・ゼミ 改訂6

確率統計キャンパス・ゼミ 改訂6

完全独習 ベイズ統計学入門

完全独習 ベイズ統計学入門

  • 作者:小島 寛之
  • 発売日: 2015/11/20
  • メディア: 単行本(ソフトカバー)

感想

  • 最初にも書きましたが激オモです。週に、2時間くらいかかる講義が2セット+週末課題(これも2~3時間かかる)+TAによる補講(マストじゃないが受けないと課題やテストが難しい)
  • その分、身についた、マセマレベルならスラスラ解けるようになった、と言う実感値が得られやすいとも言えます。moocsに何を求めるかというと説明の分かりやすさによる理解の加速と、演習量による定着なので、どちらも満たしています。
  • 公理、定義の説明をくどいくらい繰り返すのが印象的です。考えてみれば、主要な公式はそんなに多いわけではないので、きちんと定義に帰って考えると言うクセをつけさせてくれます。
  • その意味では「good notation help you think clearly」というセリフが良かった。
  • 余談ですがTAの人の経歴なんかを調べてみると割と強めのテック企業でPMなんかをやっている人が多い印象でした。

今後

  • 3月からは統計基礎が始まります。こちらも同じシリーズなので課題激オモになることが予想されますので、きちんとスケジュールを確保しないといけません。。