日々のメモ書き

ChatGPTを使った論文用Prompt

自分用メモ

Prompt:

Your task: Compose a high-quality peer review of a wireless communication paper submitted to a top-tier Communication conference on OpenReivew. Start by "Review outline:". And then: "1. Significance and novely" "2. Potential reasons for acceptance", "3. Potential reasons for rejection", List multiple key reasons. For each key reason, use

>=2 sub bulllet points to further clarify and support your arguments in painstaking details. Be as specific and detailed as possible. "4. Suggestions for improvement", List multiple key suggestions. Be as specific and detailed as possible. Be thoughtful and constructive. Write Outlines only.


画像引用元 Liang, Weixin and Zhang, Yuhui and Cao, Hancheng and Wang, Binglu and Ding, Daisy and Yang, Xinyu and Vodrahalli, Kailas and He, Siyu and Smith, Daniel and Yin, Yian and McFarland, Daniel and Zou, James, "Can large language models provide useful feedback on research papers? A large-scale empirical analysis"

https://github.com/Weixin-Liang/LLM-scientific-feedback

フーリエ級数からフーリエ展開まで

フーリエの冒険

フーリエの冒険

  • 言語交流研究所ヒッポファミリー
Amazon

参考:フーリエの冒険

音の正体

  • 空気の振動
    • 「あ~」と喉を振動させると、空気が圧縮され、薄くなったり濃くなったりする。この繰り返しの振動が鼓膜に伝わる
  • この空気の振動を解析するための手法が、FFT

  • 音波は、同じ波の形が繰り返される

    • このような繰り返しのある波のことを「周期的な波」といい、
    • 波形が1回繰り返すのにかかる時間を「基本周期」という
    • 基本周期が短いと、声は高く聞こえ(女性)、長いと低く聞こえる(男性)
    • 声が大きい -> 波は縦に大きい
    • 声が高い -> 波は横に小さい
  • 同じ「あ~」という音でも、人によって高さが大きさが異なり、波形がもそれにともなって変わる

  • フーリエ:フランスの物理学者

    • フーリエは熱の伝わり方の研究をしていた。熱の伝わり方も波で表される。
    • フーリエの大発見

      同じ形の繰り返し周期を持った波は、どんな複雑なものでも単純な波の重ね合わせで表現できる

  • 複雑な物を複雑なまま解釈しようとするのは難しいが、難しいものを簡単なものに分解できれば問題はより簡単になる

  • 具体的には、三角関数を使って音波を分解する

例えば$\sin$波の場合、以下のように表される

$$ f(\theta)=\sin\theta $$

しかし、この場合では $f$が取る値の範囲が$1$と$-1$までに限定されてしまう そのため、色んな音の大きさに対応するために

$$ f(\theta)=\alpha \sin\theta $$

とし、$\alpha$で定数倍する

この$\alpha$を振幅という

振幅を考えることで、あらゆる振幅の単純な波を表現可能となった

しかし、これでは

$$ 2\sin\theta + 3\sin\theta = 5\sin\theta $$

のように、縦に引き伸ばせるだけで横方向には変化させられず、複雑な波は作れない

そこで、時間変化も考える

具体的には、角周波数$\omega$を導入し以下のように表現する

$$ f(t) = \alpha \sin\omega t $$

角周波数$\omega(=2\pi f)$は角速度(単位時間あたりに進める角度)を表しており、$t$と積を取ることで、$t$秒後の波の角度$\omega t$がわかる

ある波を考えてみる

  1. 周波数 1Hz 振幅 20
  2. 周波数 4Hz 振幅 5
  3. 周波数 10Hz 振幅 13

複雑な波は1.+2.+3.なので、

$$ f(t) = 20\sin2\pi 1t + 5\sin2\pi 4t + 13\sin2\pi 10t $$

と表される

したがって、$\sin$波の重ね合わせで表現される波は

$$ f(t) = \alpha_1\sin\omega_1t + \alpha_2\sin\omega_2t + \dots + \alpha_n\sin\omega_nt $$

となる

しかし、$\sin$波だけでは0からスタートする波しか表現できないため、$cos$波も同様に考える。

$$ f(t) = \alpha_1\cos\omega t + \beta_1\sin\omega t + \alpha_2\cos2\omega t + \beta_2\sin2\omega t + \dots + \alpha_n\cos n\omega t + \beta_n\sin n\omega t $$

$\sin$と$\cos$を利用することで、山の途中から始まっている波を表すことができた。

しかしまだ問題がある。

それはこれでは常に0を中心とした波しか表すことができない。

そこで全体にバイアスを掛けるための、$a_0$を導入する。

$$ f(t) = a_0 + \alpha_1\cos\omega t + \beta_1\sin\omega t + \alpha_2\cos2\omega t + \beta_2\sin2\omega t + \dots + \alpha_n\cos n\omega t + \beta_n\sin n\omega t $$

これにより、あらゆる複雑な波を単純な波に分解して数式で表すことができた

このような式をフーリエ級数と呼ぶ

上式を簡単に書くと、

$$ f(t) = a_0 + \sum_{n=1}^{\infty}(a_n\cos n\omega t+b_n\sin n\omega t) $$

となる

ここで注目するのは$\alpha$と$\beta$の値 例えば、「あ」と「い」の違いを上式で表すためには、角周波数成分の重み成分$\alpha$と$\beta$を変える必要がある。言い換えれば、音の違いは$\alpha$と$\beta$にあると言える (重みという表現を使ったが、より簡単に言い換えると、$\alpha$と$\beta$は混合率みたいなもの)


さて、これまでの議論で、音の表現方法はわかったが、実際にどのようにして各値を求めていくのだろうか

$$ f(t) = a_0 + \sum_{n=1}^{\infty}(a_n\cos n\omega t+b_n\sin n\omega t) $$

やるべきことは、複雑な波$f(t)$から$a_0$や$\alpha_n$を取り出すことだ

ここで鍵となるのは、波というのは周期性を持つということだ。 0度から180度の$\sin$波を考えた時、正の成分と負の成分の面積はどちらも同じであるため、足し合わせると0になることがわかる

一方でバイアス成分である$a_0$は常に一定の値であるため、その面積は $a_0\times T$ であることがわかる

そのため、$a_0$は、$f(t)$の0から時刻$T$(一周期)の面積を求め、$T$で割ることで求まる

さて続いて$\alpha_n$を求めていく

$a_0$と同じように考えれば、$\alpha_n$の波だけを残してそれ以外の面積を0にしてしまえばよさそうとわかる

ここである波$\sin \theta$の面積が0になってしまう理由を思い出すと、波が周期性を持っておりプラスの面積とマイナスの面積が同じ広さであったためだった

つまり、プラスとマイナス同士が打ち消し合うのが0になる原因であり、そうならないように工夫すればよい。 そこに注目すると、$\sin \theta$に対して、同じ波$\sin \theta$を掛けてやれば、マイナス成分がプラス成分に変換できる、とわかる(マイナスの値にマイナスの値を掛けたら、必ずプラスになるよね)

したがって、N番目の周波数成分の振幅$\alpha_n$を取り出したいときは $f(t)$に対して、$\cos n\omega t$ を掛けで出てきた値(面積)に$2/T$を掛けることで、$\alpha_n$成分だけを取り出すことができる

($2/T$を掛けているのは、出てきた面積が 面積$=T/2 \times \alpha_n$だから。面積は山が横に並んだ様子をイメージしてもらえば良くて、山と山の間の面積は0だから、その隙間を埋めるために$1/2$していて、山は周期$T$だけ横に並んでいる)

$$ f(t)\times \cos n\omega t =a_0 \times \cos n\omega + \alpha_1 \cos \omega t \times \cos n\omega t + \beta_1 \sin \omega t \times \cos n\omega t + ... $$

とすると、$\alpha_n$以外の周波数成分の面積はすべて0になる

($\cos n\omega t$を掛けると、$\alpha_n \cos n\omega t$以外の面積が0になるのは、一見不思議だが、$\cos \omega$が基本周波数で、$\cos n\omega t$がその定数倍であることを考えると、$\cos n\omega t$とそれ以外の$\cos m \omega t$は(n-m)分、波がズレているので、やはり波同士がお互いに打ち消し合うのだ。$a_0$に関しては、そもそも定数だから、$\cos n\omega t$そのものの面積をとてるのと同じだよね)

これらを数式でよりシンプルに表現すると

$$ a_0 =\frac{1}{T} \int_{0}^{T} f(t)dt $$

$$ \alpha_n = \frac{2}{T}\int_{0}^{T} f(t)\cos n\omega t dt $$

$$ \beta_n = \frac{2}{T}\int_{0}^{T} f(t)\sin n\omega tdt $$

と書くことができ、これらのことをフーリエ展開と呼ぶ

ロジカルメモ

ロジカルメモ

この記事https://www.flierinc.com/interview/interview160の内容に興味を持ち購入して読んでみた。 正直なところ、一般的なメモ術以外の何者でもなく、新しい発見を期待したいただけに少し期待外れな内容だった。

とはいえ、覚えておきたい考え方もあったため、それらを備忘録的にメモしておきたい。

  1. 自分の言葉で情報をまとめること
  2. 思うことと考えることは違う
  3. 自分の行動の理由をきちんと考え、分析する

セルフコントロール大全

最近は自己啓発本、セルフコントロール本しか読んでいない気がするが、とりあえずまとめる。

本書は45個の具体的なついつい怠けてしまうシチュエーションとそれらに対する対処法が記載されている。 すべてのシチュエーションを一つずつ確認する必要はおそらくなくて、 自分が困っている・解決したいシチュエーションをページを開いて、対処法を参考にするのが良いだろうと思う。

以下に私が陥りがちなシチュエーションと本書が提案する対処法を書き記す。

  1. 仕事をしなきゃいけないのに、なかなか机に迎えない
    • とにかく机に向かう
      • 人間は体が先に動いたあとに脳が反応する。考える前にとりあえず行動することが大事
    • 強制的に行う環境を作る
  2. 仕事中なのに10分お気にネットサーフィン
    • 休憩をとることと、別の作業を挟むこと。
      • 作業Aが終わって作業B、作業Cと取り掛かるのではなくて、作業A->作業B->作業C->作業A・・・というように作業を交互に繰り返しす
  3. 仕事をこなすスピードが落ちてきたように感じる
    • 自分の締切を設定する
      • 仕事の締め切りではなく、自分の中での締切を決定する
      • 自分で締め切りを決めると最終的な締切よりも早く設定する傾向がある
  4. 5分休憩のつもりが、30分休憩になってしまった
    • 休憩中に頭を休める
      • 休憩中にゲームやSNSをやっているとしたら、ちゃんと休めていない。休めていない実感からずるずると休憩が長引いている。
        • 瞑想、散歩、ストレッチなど
  5. 自分でも嫌になるほどうっかりミスが多い
    • 注意すべきところを書き出す
  6. 休日はSNSばかりチェックしてしまう
    • SNSのやりすぎはよくない
    • SNSは一日30分程度がベスト
  7. ダラダラと動画やテレビを見てしまう
    • ジムに通って体を鍛える
    • 自分で見終わる時間を決めておく
  8. ウォーキングに行こうと決めたのに今日も行けなかった
    • 先延ばしグセ(Procrastination)を改善する
      • 他の行動の選択肢を減らすこと
  9. なかなか覚えられなくて、何度も同じところを勉強している
    • 人に教えるつもりで学ぶ
    • 勉強の前に10分散歩する
  10. 朝、なかなか起きられない
    • 人間は起床するときに大きなストレスがかかるようになっている生き物
    • 二度寝は悪いことではない。気持ちいい
      • 最初から二度寝を組み込む
        • 6時にアラーム -> 二度寝 -> 7時30分に起床みたいな
        • 私の場合、5時にアラーム -> 二度寝 -> 6時30分に起床
  11. ついつい猫背になってしまう
    • 背筋を伸ばすとパフォーマンスが上がる
      • 腹筋を使って呼吸する

まとめると、

  • 考える前に行動してみる
  • タスクが複数あるなら、交互に取り組む
  • タスクごとに自分の中で締め切りを設定する
  • 必要なことがあればメモを。またちゃんと考えながらタスクにとりかかる
  • SNSや動画は自分で時間を決めて見る
  • 人に説明することを想像しながら、取り組む
  • 二度寝は大事

アウトプットベースでインプットする

  • 参考記事: 樫田光 | Hikaru Kashida 新しい環境でバリューが出せずに悩んでいる場合の解決法 https://note.com/hik0107/n/n1d7b93c57cdd

  • Twitterで流れていた上記記事を読みながら、内容を自分用にメモした


新しい環境において自分の力・価値を発揮できないと感じてしまう問題がある

これの解決に大事なのは、自分に合った対処法のゴールデンルールを持っておくこと、また問題が発生するパターンを把握しておくことである。

参考URLで筆者が挙げているパターンの例として、

前提が理解できているか不安

やっていることに意味があるのか自信がない

周囲の人と信頼関係が築けていない

必要な情報の全体像が把握できていない、また情報同士の結びつきが明確でない

がある。(このパターンは人によって異なるので注意)

私の場合を考えてみると、いくつは上記例と同じだが、以下のようなパターンがありそうだった

自分の中で意味のない・本質的ではない作業と一旦感じてしまうと、とたんに手がつかなくなる

チームで働いているはずなので、他のメンバの進捗が見えなず、チームリーダーもそれに対処しようとしない時、やる気が削がれる

必要な情報の全体像が把握できていない、また情報同士の結びつきが明確でない

これらに対する対処法は人それぞれ千差万別だと思われる。 ただ、自分にとっての問題発生パターンを認識しておくことは重要で、認識しておくことで、もし今後それら問題発生したときに、どのような解決できたか知ることができる。

自分なりの対処方法を今考えて書き記しておくと、

  1. 自分のやっていることの意味・ゴールを常に意識すること。

    • ゴールや意味を意識した上で、ゴールまでの道筋やなぜこの作業をしているのか?という理由・目的を把握しておけば、どんな作業であっても意味づけはできそう
  2. 他人の進捗に自分のやる気を削がれるのは駄目。他人に影響されないように、自分のできることを可能な限り高品質で終らせるように意識。そうやってスキルを磨くことで、どうしてもそのチームが駄目だとなったときに、他チームへの転籍や転職もスムーズに行える

  3. 1.と同じで意味・ゴールを意識する

上記のようなことを意識して活動していきたい。 もし他に良い対処法がうかんだらその都度更新する。


大事だと思った考え方

  • アウトプットベースでインプットする

    • いきなり全力でインプットするのは愚策
      • これはありがち。僕もこれなのでアウトプットを増やすように意識していきたい。
      • あまりアウトプットしてこなかった根本的な理由が、「恥ずかしい」という感情。 アウトプット結果が的外れだったらどうしよう、間違っていたらどうしよう、低評価されたらどうしよう、と言った感情がある。 この意識を何とか払拭したい。
    • 重要なのは「適度なインプット」-> 「アウトプット」->「フィードバック・インプット」の流れを作ること
  • アウトプットこそが最も良質なインプットにつながる

    • Done is better than perfectの精神っぽい
    • 100%じゃなくても何か具体的なアウトプットがあれば、周囲の人間はあなたが何をしようとしているのか理解しやすくなり、結果的にフィードバックが増えてインプット量も質もあがる
    • 自分のアウトプットに対するフィードバックはどんな細かいものでも、よく咀嚼してものにするべし
    • アウトプット結果も可能な限り質も高めるべし
  • フィードバックをくれる人物は

    • あなたのやっていることに関する情報を持っている
    • あなたのやっていることに興味がある

記事中に覚えておきたい文があったので、メモ代わりに引用

作業、という実際の行動は脳の不安を消してくれます。

人間は、基本的に思考によって「不安」や「焦り」といったものを払拭できるようには設計されていません。一方で、行動することによってストレスレベルを減らすことが有効であることはよく知られています。

イシューからはじめよ


巷にはいろいろな解説記事やサイトが出回っているので、詳細は避けるが
本書は思考・問題解決力を鍛えるための有名な本である。

適切なイシュー(問い)を設定することから始めることが、
価値のある仕事につながると本書では主張している。

本書の中で二点、特に気になった箇所について述べる。

一点目は「犬の道」には踏み込んではならないということだ。
「犬の道」とは、一心不乱に大量の仕事を熟すことで、仕事の価値を
あげようとするアプローチのことだ。言い換えると、労働の質ではなく量で重視するようなアプローチのことである。

これは仕事内容について深く考えずに浅い考えで仕事を進めると陥りやすい問題であると感じる。
また「質の悪い」アウトプットを繰り返すことによって、「質の良い」仕事を生むことができるなくなるというリスクがある。
「犬の道」を通ることが当たり前になってしまうと、高確率で「駄目な人」になってしまうので、自分が今「犬の道」を歩いていないか、
気をつける必要がある。

二点目は表層的な論理思考に陥っていないか、どうかである。
作中の言葉を引用すると

ここ数年、「頭はよいが、反応がデジタル的で深みがない」と感じる人に会うことが増えた。すべてのことを単なる表層的な情報としてそのまま処理しているような印象を受ける人だ。
これらの人は、仕事は素早くこなすし、受け答えも明快だ。だが、話をしていると「きちんと理解し合っているのだろうか」という不安を感じる。
理解・共感する力があまりに低いように思えるのだ。

遅考術の本にも通じるところがあるが、反射的・表面的・短絡的な思考をしていると、引用のような印象を持たれるリスクが高くなる。
何事も受け身にならず、よく考え、熟考し、それぞれの情報について複合的な意味合いを考え抜く必要がある。

さらに、

この本の読者の皆さんには、情報を噛みしめる人、つまりは様々な意味合い、価値、重さを正しく理解できる人であってほしいと思う。
そして、表面的な論理だけで「考えたフリ」をする人にならないよう、心がけてほしいと思う。

という言葉を肝に命じる。

イシュードリブンな考え方、というよりも、
私はこの本を読んで、一点目の犬の道、二点目の表面的な論理思考について、特に心に残り改善していきたいと思った。

遅考術 じっくりトコトン考え抜くための「10のレッスン」

遅く考える術、遅考術、という本書オリジナルの言葉がタイトルになっている。 一般的に「頭がいい人」とは、頭の回転が早い、説明が得意、抽象的な思考に強い、といった特徴を持った人のことが思い描かれることが多い。 しかし、著者は「遅く考えられる」という能力も重要であると述べている。

遅く考えることが重要なのは「気をつけないと間違える場面」や「多様な可能性を考慮すべき場面」。 こういった場面では、所謂直感的な考えだけでは対応できないこともあり、大きな勘違いやミスに繋がる可能性がある。 そこで大事になってくるのが直感的な発想に加えて遅く考えること(遅考する)、というのが著者の考えだ。

この本を手に取ったきっかけは、自分自身が仕事などを進める上で、直感的・瞬間的な判断・思いつきのみで物事を進めてしまい、 後々後悔したり、ミスに繋がったりした経験が多々あり、そういったミスを減らしたいと考えたためだ。

本をしっかりと読み込むことで、まず自分の直感的な判断や言われたことに対して、まずは否定して考えてみる、ということが 意識的に行えるようになる。少なくとも、否定して考えてみることの重要さがよく分かるようにはなった。 あとは如何に日常的に使いこなすようになるか、という話である。 また否定して考えることで、問に対する本質的な部分もより強く意識できるようになりそうだと感じる。

本書で気になった点は本書のユニークな部分(遅考)は前半に集中しており、 後半はクリティカルシンキングなど他の思考術の本に書いているような内容だった点が少し残念。

本書で良かった点は、 「遅く考える」という概念に気がつけたことに尽きる。 直感的・瞬間的・経験的な判断の危うさを本文中の例題でしっかり示してくれるので、 遅く考えることの大事さがしっかり伝わった。 今後は遅考を意識したい。

最後に印象に残った本書で引用されていたアリストテレスの言葉を引用したい。

強制されないものは快い。その意味で、安穏、急速、眠り、遊びなどは快だ。他方で、強制とは自然に逆らうことだから、苦痛を伴う。 「必然に縛られたることは、そもそも、なべて苦しきものなれば」。たとえば、神経を集中させていたり、真剣な努力を重ねたり、緊張の糸を張り詰めていたりすることも、苦痛だ。 けれども、こうしたことは、習慣づけられていれば、快に変わっていく。

[読書記録]インプット大全

学び効率が最大化するインプット大全

学び効率が最大化するインプット大全

  • 作者:樺沢紫苑
  • 発売日: 2019/08/03
  • メディア: 単行本(ソフトカバー)

ここ最近、かなりの時間をかけて勉強を勧めているが、 どうもいまいち自分の身についてると思えなかった。 そこで、これまでの自己流の勉強方法を見直してみようと思い、この本を購入した。 購入目的は、インプット能力を高めるために必要なことを具体的に知ることである。

チャプター1感想

インプット能力を高めるために必要な基礎的なこと

  1. 注意深く読む、聞く、見ること。ザル頭にはなってはいけない。
  2. 2週間以内に3回アウトプットすること
  3. 興味関心のあるテーマを書き出す
  4. 例えば美術館に行ったとき。その作品を書いたときの時代背景や作者の状態を興味のテーマとして事前に書き出しておくことで、 作品を見た時にそういうことに目が行く
  5. 行動する時は、理由と目標を持つこと。 例えば、留学したい(理由)から、それにはTOEIC500点が必要(目標)、だから英語の勉強(手段)をする。
  6. 自分に自分で質問する
  7. アウトプットする前提でインプットする

チャプター2感想

2章では本を読むことについて重点的に述べられていた。 本は速読のように浅く大量に読むものではなくて、深くしっかりと理解できるように読むべきである。 ここで言う深くは、他人に説明できるレベルを差している。 読了後は短くてもいいから感想を書くことが進められている。

私的には、感想には以下の3点を盛り込みたい。

1) ここだと思う文を一つ 2) 学んだこと 3) 今後 TODO したいこと

結局、実用書等を読む理由は自己満足ではなくて自己成長なので、何もわからないまま大量に読むよりも、 ちゃんと自分の脳に定着するようにしっかりと深く読むべきということだ。

[読書記録] 山椒魚戦争

山椒魚戦争 (岩波文庫)

山椒魚戦争 (岩波文庫)

ハロー、人類諸君! さわがないでいただきたい。われわれは生きるために、より多くの海、浜、洲を必要とするだけなのだ。 われわれの数は多すぎる。諸君の海岸にはもはや住みきれぬ。そのため諸君の大陸をちょうだいしなければならぬ。 諸君は内陸部へ移住すればよろしい。山間部へ引きこもればよろしい。

1930年代のSF作品。 高度な知能を持った山椒魚と人類が戦うという一見、「そんな馬鹿な」と一蹴してしまう設定であるが、 その実、当時の世界情勢、特に欧州における(第二次世界大戦を予感させる)雰囲気に対する風刺小説だ。

(弱者の立場である)知能を持った山椒魚たちが、人類の代わりに労働を強いられる。皮肉にも人類の庇護下に置かれた山椒魚たちは 世界各地で大増殖し、最終的には人類とのすれ違いにより、人類に対して宣戦布告を行う。

作中では山椒魚として描かれていた存在を別の立場へと置き換えてみると、より作品を楽しめる。

論文読みメモ [途中]

End-to-End Object Detection with Transformers

注意 本記事の画像は下動画から引用しています。

これは何?

arxiv.org - Facebook AIが提案した、画像からの物体検出手法に一つ

簡単な中身としては:

  1. CNN

  2. Transformer

訓練にはBipartite matchingを使っている。

であり、これまでのエンジニアリング的なハードルや閾値決定、パラメーターチューニングに比べたら、中身は非常にシンプルな構造になっている。

Object detection?

  • 画像からの物体検出では、まず画像中に写った物体を全て検出することを想定する。またそれら物体が画像中のどこにあるのか、それら物体が何であるかも推定する。(これが物体検出)

性能の良い識別機は、下図の画像が入力された時に、二羽の鳥それぞれを認識してバウンディングボックスで囲ってくれる。 この時、バウンディングボックスはオーバーラップしてもOK。

f:id:hagihayuki:20200629105158p:plain

この時、二羽の鳥を識別するためには様々な難しさが存在する。 代表的なのは、

画像中に何羽の鳥が存在するのか知る必要がある - 画像中の鳥の数は常に同じ数だとは限らない。(画像によっては0匹かもしれないし100匹かもしれない) - 画像中に鳥だけが写っているとは限らない、犬も一緒かもしれない。 - 画像中の物体はどこにでも、どんなサイズでも現れる可能性がある

この問題を解決するために、これまでに様々な設計がされてきた。 分類器を設計して、画像中の全ピクセルに対してラベルを付けたりして、 画像上での距離を見て、同じラベル同士のピクセルが近かったら、これは同じ物体に違いない、と分類したり。 非常に複雑な構造の識別機を使って、この問題を解決しようとしてきた。

一方で、この論文で提案されている手法は非常にシンプル。

じゃあ具体的な内容は?どうやってこの問題を解いているの?

  1. 画像を入力する。
  2. CNNエンコーダーを通して、set of image featuresを取得する(図2)
  3. CNNを通すことで、画像サイズが縮小され、奥行きが特徴量チャネルを表した三次元形式で表現される。縮小されているが、画像としての形式は保持されており、奥行きがそれら大量の特徴を表している。

f:id:hagihayuki:20200629110959p:plain
図2

  1. set of image featuresがTransformer encoder-decoderへ入力される
  2. これがとても重要なところ
  3. その後、set of box predictionsへ入力される
  4. それぞれのボックスがタプル形式(Class、座標)でデータを出力する。(図3)
  5. set of box predictionsだから、このタプルでClassが0じゃない座標のところにバウンディングボックスが描かれる。
    f:id:hagihayuki:20200629111912p:plain
    図3

じゃあどうやってトレーニングするのか?

ロス関数は?
  • Bipartite matching loss Loss関数は2つの変数をとる。 予測値のクラスとバウンディングボックス、正解のクラスとバウンディングボックス。 そしてこれらがどれだけマッチしているかを評価する。 L{{c_pre,b_pre}, {c_ans,b_ans}}

f:id:hagihayuki:20200629104717p:plain

f:id:hagihayuki:20200706014148p:plainf:id:hagihayuki:20200706014319p:plain

大学院を休学してヨーロッパの自動車会社でインターンして思ったこと

はじめに

2017年4月から2018年3月までの一年の間、ヴルカヌス・イン・ヨーロッパというプログラムを通じて スペインのバルセロナで働いてきました。

正確には最初の4月から7月までは現地の語学学校でホームステイをしながらスペイン語を学び、 8月からはスペインの自動車関連会社(Applus+ IDIADA社)で働くというスケジュールでした。

当初、僕はヨーロッパの大企業でエンジニアとして働ける、いろんな技術に触れて学ぶことができると 意気込んでいたが、世の中そんなに甘いものではなく、楽しくもあるが、やはり辛い一年を過ごしてきました。

この時から今でもずっと僕のことを支えてくれてる人がいて、どれだけその存在に救われたか、本当に感謝の念しかありません。

インターン自体はもう一年前の話になるので、今更感が強いですが、最近色々思うことがあったので 、就職前に一度まとめたいと思い修論の息抜きも兼ね本記事を執筆することにしました。

*勢いで書いたので内容に不備があるかも。

渡欧前

2016年の10月に、プログラムの最終選考としてインターン先での直属の上司になる予定の方(ADAS部門のマネージャー)とスカイプ面接をした。

僕は、高専から大学院まで一貫して通信工学、特に無線通信システムを専門としていたので、 自動車の車内通信システム、V2X、ITSなど通信全般に興味があり、そのような技術に携わりたい、と伝えていた。

インターン先の会社は車両の走行実験のために保持している広大な敷地内に、2Gから5Gまでのモバイルネットワークを備えていた。 加えて、僕が応募した部署もADAS部門だったため、僕にとって非常に魅力的なインターン先だと思えた。

先方も、事前に提出してあった僕のCVを読んだのか、「君のような人材が欲しかった」と伝えてくれて、すごく嬉しかったことを覚えている。 (この面接が初めての英語面接だったので、緊張のあまり、面接直前にほろ酔いを飲んで緊張を紛らわしていた。なので、上司のあの一言は緊張を和らげてくれたし本当に嬉しかった)

ADAS: 先進運転支援システムは、自動車のドライバーの運転操作を支援するシステムである。次世代のADASは、3GやLTEなどのワイヤレスネットワーク接続の活用(V2N: Vehicle to cellular Network)、ほかの車両との通信(V2V: Vehicle to Vehicle、車車間通信)、歩行者との通信(V2P: Vehicle to Pedestrian)、路端のインフラとの通信(V2I: Vehicle to roadside Infrastructure、路車間通信)などを使用して価値を向上させる[6]。車両対他装置・インフラ等は総称してV2X(Vehicle to Everything)と呼ばれる。(Wikipediaより)

渡欧後: 語学学校

語学学校での語学研修期間である最初の4ヶ月は住民登録、ビザの更新、アパート探し等であっという間に過ぎた。 初めて習うスペイン語も4ヶ月やってみると、ある程度のところ(B1レベル)までは進めることができた。 (インターン先の会社は社内公用語が英語だったので、スペイン語の習得にそれほど熱が入らなかった)

インターンが8月から始まる予定だったので、語学研修期間中の6月に一度、会社へ見学に行った。

会社の敷地は周囲7kmと非常に広大で、会社の中に川が流れていたり、林があったり、野生の兎が大量に生息していた。 食後のコーヒー付きバイキング形式のランチはインターンは無料で、ハイキングコースも5コース整備されており、 この会社で働くことが非常に楽しみになった。

上司や8月から同僚となる社員の人達は、信じられないほどフレンドリーで、スペイン人すごいなあ、と再認識させられ、 きっとこのチーム内で人間関係で悩むことはまずないな、と確信した。 (実際、インターン中、人間関係で悩むことは全くなかった。ホントよかった)

この時、上司から「インターナルな仕事とグローバルな仕事、どっちがいい? グローバルな仕事の方は日本の自動車会社と一緒にやってるよ」と 聞かれた僕は、どうせならグローバルな方がいい、と答えた。

余談だが、インターンが進んでいくにつれて、最終的にはインターナルな仕事もグローバルな仕事、どちらにも携わることになったので、 この質問には特に意味がなかったことに日本に帰国後気がついた。

渡欧後: 仕事開始

2017年8月 ここから僕にとっての想定外が始まった。

出社初日。 僕の仕事場である、ADAS部門の建物へ向かった。 ただ、建物に入っても人の気配がしなかった。 おかしいな、と思いながら扉を開け部屋に入ると、前に見学に来たときには20人以上居た室内には、 デスクに座って作業をしている人がぽつんと3人いるだけだった。 後々判明するのだが、居なかった人たちは一ヶ月の夏休みの最中だった。

近くに居た3人の中で一番偉そうな人に、「今日からお世話になる、Yukiです。よろしく」と声を掛けると、 僕に気がついたその人が「ああ、聞いてるよ!よろしく!」と気さくに返事を返してくれた。 そして、作業をしていた他の二人も「よろしく!Yuki」と声を掛けてくれて、僕は早くも職場の人と打ち解けたかのような気持ちになった。

さて、次に、

「これがYukiにやってほしいことね。俺は担当じゃないから、ちょっと詳しい内容は分からないんだけど、とりえあず読んでみて」

と紙に印刷されたパワポ資料を渡された。 その資料は表紙を入れても4ページしかなく、加えて図が中心の資料だったため、概要しか理解できないような内容だった。 理解できたのは、それが日本の会社から依頼されてる仕事ということと、依頼にあたっての背景及び目的の概要だけだった。

なんとか理解してみようと試みたが、情報が少なすぎて難しかったため、社員の人にもっと詳しい資料はないのか?と尋ねると、 参考になるかわからないけど・・・、と日本の会社とインターン先の会社とのメールのやり取りを見せてくれた。

得られた情報は少なかったが、その仕事の管理を担当していた社員は休暇中だったので、 「ちゃんとした資料ないのか。これ僕の理解が間違ってたらやばくない?」と思いながらも、 定期的に同僚に相談しながら自分なりに仕事を勧めた。

その仕事内容だが、簡単に言うと、ヨーロッパ各国の交通法規、技術的な要件が書かれてある資料をひたすら読み込んで内容をまとめるというものだった。 まじで拷問のような時間だった。

与えられた時間は3ヶ月もあり、その間、ひたすら英語、スペイン語、フランス語、イタリア語、ドイツ語、チェコ語・・・・、おおよそヨーロッパ20カ国分の 資料を読み込んだ。当然、英語、スペイン語以外は全く内容が理解できなかったため、PDFをグーグル翻訳(ありがとうグーグル)にかけ、読み込んだ。

この頃は、これが上司の言っていたグローバルな仕事なのか、と思いながら、毎日作業しており、 グーグル翻訳にかけた資料を読みすぎて、不自然な英語を読むと、頭痛になるという現象に見舞われていた。

うまくグーグル翻訳できないという理由で、フランス語が嫌いになった。

加えて、本来僕が期待していた仕事とはかけ離れていたため、同僚に対する不満は全く無いが、仕事に対するストレスがマッハだった。 あまりにも作業が単調すぎて、日本に帰って大学で勉強したいと思うようにもなっていた。 日本に居た頃は全く意識したことなどなかったが、大学で毎日自由に好きなことを学べるのって、本当に素晴らしいことだなと嫌というほど認識させられた。

嫌気がさした僕は、 このプロジェクトが終わったら、 もっとエンジニアっぽいことしたい、もっとプログラミングとか使うことしたいと 上司に毎日のように注文した。

しかし、 次のプロジェクトも、あまり前プロジェクトと変わらず、 CSVファイルからデータをソートして、必要なデータを抜き取るというものだった。 (上司基準のエンジニアっぽいことがこれだった)

Pythonで一発じゃん!!と思っていたが、そうは問屋が卸さず、 会社の規則?によって、そもそもPythonのインストールができなかった。 そのため、エクセルで作業を行う必要があった。

Excel VBAは使えたので、データの抜き取りをVBAを使って行うことにした。

これまでの人生でVBAをわざわざ使おうなんて思ったことはなかったし、 楽しいなんて感じたことはなかったが、 このときばかりは、「今オレはコードを書いてる!!!」と興奮したことを覚えている。

数ヶ月も立つと会社の文化や仕事自体に慣れ余裕もできた。 適度に手を抜くということも覚え、ストレスを感じそうだったら、 仕事を一旦ストップしてリフレッシュすることを始めた。 仕事内容以外の部分では居心地がすごく良かったため、 このままだったら、一生この会社で働き続けられそうだなあ とも思った。

でも、ある休日、Google scholarで暇つぶしにMIMO関係の論文を探していた時、 「今会社でやってることって ここに来る前にやりたいと思ってたこととかけ離れてるよなあ」 とふと思った。

そう思った途端、なんか萎えた。 日本に帰って、研究しよう。 それまでは会社の仕事頑張ろうとと思った。

そんな感じで、八ヶ月で3つほどのプロジェクトをこなして、2018年3月に日本に帰国した。

感想

八ヶ月間で、ミーティングは沢山したし、 日本やヨーロッパの自動車関係の人たちと沢山お話もできた。 数十億円規模のプロジェクトにも末端ではあるが貢献できた。 最初はあまり聞き取れなかった、ヨーロッパの人の英語訛りも結構分かるようになったし、 いい意味で図太くなれたと思う。

まあ、でも、英語喋れるとかヨーロッパで働いたとか、 そういったことって別にどうでもよくて、 本当に僕がしたかったことは、最先端の通信技術を使ったシステムに触れて、 もっとそういったものに対する経験を積みたかった。 もし、それができていれば本当にベストだったし、僕は感動のあまりインターン先の会社に就職していたと思う。

でも、一年、大学から離れて、仕事内容も事務みたいことをしていたおかげで、 自分が研究好きってことを知れた。 それに、僕があまり自動車自体には興味がないってことも知った。 渡欧前は自動車会社に入る気まんまんだったから、事前にわかって良かった。 それに、日本から見たヨーロッパと、ヨーロッパから見たヨーロッパはやっぱり違った。 僕にはちょっと合わなかったように思う。 だから、このヨーロッパインターンで日本で研究者として働く決心がついた。

スペインにいる最中に、ボストンキャリアフォーラムに 参加して、色んな企業から良いオファーを貰えた。けど、その中でも一社すごくいい日系企業と出会えた。 他と比べて派手さはなかったけれど、面接官の研究所の方がすごく楽しそうに働いていた。 こういう人と一緒に働きたいなと素直に思えた。 だから、この4月からはその研究所で働くことにした。

ヨーロッパに来なかったら、こういう出会いは絶対なかったな、と思う。 同じヴルカヌスプログラムのメンバーは全員良いヤツで、小学生っぽいことを言うと、みんなのことをすごくいい友達だと思ってて、 今後もずっと付き合っていきたい。 仕事が辛かったのも今となっては、逆にいい経験だったとすら思える。(今でもフランス語はアカンけど)

あと今後就職したら、受け身ではなくもっと色々自分から動けるようにするつもり。 言葉ではわかってたつもりだけど、やっぱり嫌な環境で受け身だと、ツライだけだ。 今回も仕事内容に関しては変えようがないけど、もっと自分で変えれるところは主張すべきだったなと後悔してる。

それと、最後に、自分のやりたいこと、目標は忘れないようにしたい。 仕事の大変さで忘れちゃうこともあるかもしれないけど、 自分にとっての目標を明確にし続けて、長期的に頑張っていきたいです。

以上。

おまけ

f:id:hagihayuki:20200727113705j:plain
住んでいたマンション前

f:id:hagihayuki:20200727113758j:plain
MITにもいったよ
f:id:hagihayuki:20200727113935j:plain
ボストンの街は想像よりも都会だった
f:id:hagihayuki:20200727113823j:plain
休暇で行ったフィンランドヘルシンキ

Serpent's Ire (Vabbi Meta Event) について

先日、TwitterRedditで参加してくれる仲間を呼びかけて、VabbiのメタイベントであるSerpent's Ireをクリアした。

本イベントは(Pugでは恐らく)最低でも50人程度人が揃わないとクリアできない非常に高難易度のイベントである。

僕も過去に二度、ギルメンを誘いLFGで35人程度人を揃えて挑戦したが、いずれも失敗に終わっていた。

今回の挑戦の勝因として

  1. TwitterRedditでの事前告知
  2. 現地マップやLFGだけでなく、LAやHotMでの募集
  3. Squadに入ってきた人達に対しても友だちを呼んでもらうようお願いした
  4. Event最中、口が酸っぱくなるほどCCスキルを可能な限り持ってきてと頼んだ
  5. 僕のSerpent's Ireイベントに対する理解が深まっていたこと

などが挙げらる。

 

Serpent's Ireの攻略手順として:

第一フェーズ

  • このフェーズではZealotを5体倒す必要がある。
    Zealotは第一フェーズ開始時にはスパンしておらず、周辺にいるVeteran Brandedを倒す必要がある。Veteran Brandedを倒すことで、Zealotの出現ゲージが溜まっていき20%ごとに一体ずつマップの紫色になっているエリアのどこかに出現する。
    Zealotはそれなりに強いので10人程度のグループで挑むと良い。他の余ったメンバーは引き続きVeteranを倒すか、他に出現したZealotを探すなどして並列して作業を進めると効率が良い。

第二フェーズ

  • 第二フェーズが一番の難関。このフェーズがクリアできれば、イベントはクリアしたもほぼ同然である。
    このフェーズでは、神殿の四隅+北の地点に先程倒したZealotが一体ずつ出現する。それぞれのZealotが非常に硬いCCゲージを持っており、CCゲージを全て削らないとダメージを与えることができない。
    また、五体のZealotは魔法をチャネリングしており、CCが入ってない状況のときは常にチャネリングゲージが進み、ゲージがなくなった時、エリア全体のプレイヤーに即死ダメージが入り、イベントが失敗する。
    そのため、CCゲージを削ることが何よりも重要となる。
  • 攻略手順としては、50人程度のSquadを想定すると、
    まず、コマンダーはSquadを20人のメイングループと7人程度×4(=28~30)のサブグループにSquadを別ける。その際サブグループのメンバーはできるだけCCが均等に入るような構成にする。

    Zealotは、NE、North Center、NW、SE、SWにそれぞれ一体ずる出現するので、

         NE        North Center      NW
       (メイン)       (サブ1)     (サブ2)


         SW                    SE
       (サブ3)                 (サブ4)
    このようにグループを配置する。そして、各サブグループはDPSよりもCCバーを常に削り、Zealotのチャネリングをストップさせ続けるように心がける。
    メイングループはNEのZealotを倒した後すぐにNorth Centerへ移動し、サブ1と共闘する。
    North CenterのZealotを倒した後、サブ1をサブ3へ合流させ、メイングループはそのままサブ2と合流する。そして、最後はサブ4へ合流する。

フェーズ3

  • フェーズ3は神殿中央にYasshi HessaniとPek Rakt Gragが出現する。このフェーズでは特に気にするギミックなどはない。
    注意しなければならないのは、Pek Rakt Gragを先に倒してしまうとYasshiがPek Rakt Gragを蘇生してしまうことである。そのため、先にYasshiにフォーカスすることが大事になる。
    また、YasshiのHPが減っていくと、Yasshiが無敵状態になり、魔法をチャネルし始める、その後Sparkがマップのあちこちに出現する。この時、SparkがYasshiに到達する前にSparkを倒さないと、Yasshiの魔法の威力が強化され、全滅する。しかし、Sparkの移動速度は頗る遅く、HPを低いため、フェーズ2をクリアしたSquadであるなら、まず心配する必要はない。
    Yasshiを倒した後は、残ったPekを倒せば、イベントはクリアとなる。

 

f:id:hagihayuki:20180527101226j:plain

Serpent's Ireクリア後(Guild Wars 2)