Math-Euclid

人物

ユークリッド ( Euclid, 紀元前330年 - 紀元前275年頃) は古代ギリシアの数学者です。
『ユークリッド原論』の著者であり、「幾何学の父」と称されます。

実績

『ユークリッド原論』

1~4の公理・公準を述べている
第5公準「平行線公準」

基本概念

公理、定理、公準、命題

三角の内角は180度であるを証明する

ユークリッド空間

位相空間

  • ユークリッド距離
  • ユークリッド内積

非ユークリッド幾何学 non-Euclidean geometry

ユークリッド幾何学の平行線公準が成り立たないとして成立する幾何学である。

結論 楕円幾何学 ユークリッド幾何学(放物幾何学) 双曲幾何学
平行線の数 0本 1本 2本以上
代表的なモデル リーマン球面 ユークリッド平面 擬球面
  • Ivanovich Lobachevsky(ロシア数学者):双曲幾何学
  • Georg Friedrich Bernhard Riemann(ドイツの数学者):楕円幾何学(リーマン球面)

ユークリッドの互除法 Euclidean Algorithm

中学受験問題:689と1007の最大公約数はいくつですか?

ユークリッドの除法 Euclidean Division

ユークリッドの定理 素数が無限であること

ユークリッドの整域

Math-Pythagoras

ピタゴラス (Pythagoras, 紀元前570年頃-紀元前495年頃) は古代ギリシアの数学者です。
ピタゴラスの定理(直角三角形の三辺の関係を示す)はピタゴラスによる発見されていました。

そういえば、ピタゴラスの定理を証明する方法が、たくさんあると、中高学校でどこかでやったことがあります。
ここでまとめます。

  • 相似による証明
  • 三角比による証明
  • 外接円を用いた証明
  • 正方形を用いた証明
  • 内接円を用いた証明
  • オイラーの公式を用いた証明
  • 三角関数の微分公式を用いた証明
  • 三角関数の不定積分を用いた証明
  • 三角関数の加法定理を用いた証明
  • 冪級数展開を用いた証明
  • 回転行列を用いた証明
  • 三角関数と双曲線関数を用いた証明

Basic Deep Learning

Book list of Deep learning


2018年ごろに以下2冊が入門本として勉強しました。

  • 深層学習(岡谷 貴之 著) 2015年
  • ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装(斎藤 康毅 著) 2016年

CNNの基本


Loss関数

Neural Networkは最適なパラメータ(Weightとbias)を見つけるため、学習で損失関数が最小値を取るとき

  • 2乗和誤差
  • クロースエントロピー誤差

パラメータ更新

https://github.com/j-w-yun/optimizer-visualization

SGD(確率的勾配降下法)

Momentum

  1. 勾配の累積 (モメンタム更新):

  2. パラメータの更新:

AdaGrad

  1. 勾配の累積二乗和:

  2. パラメータの更新:

Adam

  1. 勾配の移動平均 (モーメント計算):

  2. バイアス補正:

  3. パラメータの更新:

正則化

モデルが過学習(オーバーフィッティング)するのを防ぐため目的にパラメータに何らかの制約を課すことです
よく使われる正則化手法は以下です。

制約付き最適化(KKT条件から導く)

L2正則化(Ridge回帰)

寄与が小さい重みを抑える

L1正則化(Lasso回帰)

寄与が小さい重みをゼロにする

Dropout

データ拡張

Early Stopping

バッチ正則化

basic-cnn-models

Dataset

画像

  • MNIST
  • ImageNet
  • COCO2017
  • Cityscapes
  • KITTI
  • nuScenes
  • Megaface
  • WaymoOpen

音声

  • LibriSpeech
  • AudioSet
  • Common Voice

Early models

モデル 発表年 学会または発表場所 論文タイトル URL
AlexNet 2012 NIPS 2012 (現NeurIPS) ImageNet Classification with Deep Convolutional Neural Networks AlexNet
VGG16 2014 arXiv (未発表) Very Deep Convolutional Networks for Large-Scale Image Recognition VGG16
GoogLeNet 2014 CVPR 2015 (2014年発表) Going Deeper with Convolutions GoogLeNet
ResNet 2015 CVPR 2016 (2015年発表) Deep Residual Learning for Image Recognition ResNet
DenseNet 2016 CVPR 2017 (2016年発表) Densely Connected Convolutional Networks DenseNet

Application models

Detection

論文名 発表時間 発表者 発表組織 URL
R-CNN 2013/11 Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik UC Berkeley link
Fast R-CNN 2015/04 Ross Girshick Microsoft Research link
Faster R-CNN 2015/06 Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun Microsoft Research link
YOLO 2015/06 Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi University of Washington, Allen Institute for AI link
SSD 2015/12 Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg Google Research, University of North Carolina, Chapel Hill link
RetinaNet 2017/08 Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, Piotr Dollár Facebook AI Research link
YOLOv3 2018/4 Joseph Redmon, Ali Farhadi University of Washington, Allen Institute for AI link
CenterNet 2019/05 Xingyi Zhou, Dequan Wang, Philipp Krähenbühl UT Austin link
YOLOv4 2020/04 Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao Independent & Academia Sinica link
YOLOv5 2020/10 Ultralytics Team Ultralytics link
EfficientDet 2020/03 Mingxing Tan, Ruoming Pang, Quoc V. Le Google Research link
DETR 2020/05 Nicolas Carion, Francisco Massa, Gabriel Synnaeve, et al. Facebook AI Research link
Deformable DETR 2020/10 Xiaohang Zeng, Xizhou Zhu, Yue Cao, et al. Microsoft Research Asia link

Segmentation

論文名 発表時間 発表者 発表組織 URL
FCN 2014/11 Jonathan Long, Evan Shelhamer, Trevor Darrell UC Berkeley link
U-Net 2015/05 Olaf Ronneberger, Philipp Fischer, Thomas Brox University of Freiburg link
SegNet 2015/11 Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla University of Cambridge link
DeepLab 2016/06 Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, Alan L. Yuille Google DeepMind & University of Maryland link
PSPNet 2016/12 Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, Jiaya Jia Chinese University of Hong Kong link
Mask R-CNN 2017/03 Kaiming He, Georgia Gkioxari, Piotr Dollár, Ross Girshick Facebook AI Research link
DeepLabv3 2017/09 Liang-Chieh Chen, George Papandreou, Florian Schroff, Hartwig Adam Google Research link
Semantic FPN 2018/02 Xiaoxiao Li, Ross Girshick, Kaiming He, Piotr Dollár Facebook AI Research link
DeepLabv3+ 2018/03 Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, Hartwig Adam Google Research link
HRNet 2019/04 Jingdong Wang, Ke Sun, Tianheng Cheng, Borui Jiang, Chaorui Deng, et al. Microsoft Research Asia link
DETR 2020/05 Nicolas Carion, Francisco Massa, et al. Facebook AI Research link
ViT (Vision Transformer) 2020/06 Alexey Dosovitskiy, Lucas Beyer, et al. Google Research link
PointRend 2020/03 Alexander Kirillov, Yuxin Wu, Kaiming He, Ross Girshick Facebook AI Research link
Swin Transformer 2021/03 Ze Liu, Yutong Lin, Yue Cao, et al. Microsoft Research Asia link
SegFormer 2021/06 Enze Xie, Wenhai Wang, Zhiding Yu, Anima Anandkumar, Jose M. Alvarez, Ping Luo CUHK & NVIDIA Research link
Swin-UNet 2021/07 Hu Cao, Yue Cao, Zheng Zhang, Ming-Hsuan Yang, Ran He, Jian Yang Nanjing University of Science and Technology link
MaskFormer 2021/10 Bowen Cheng, Alex Schwing, Alexander Kirillov Facebook AI Research link
Segment Anything 2023/04 Alexander Kirillov, Eric Mintun, et al. Meta AI link

BEVDet

概要説明

マルチカメラの3D

既存技術より優れ

キー技術

  • Image-view Encoder

  • View Transformer

CaDDN

概要説明

Categorical Depth Distribution Network for Monocular 3D Object Detection
Cody Reading Ali Harakeh Julia Chae Steven L. Waslander
University of Toronto Robotics Institute

https://arxiv.org/pdf/2103.01100

bevformer

概要説明

create-hexo-website

Generate new article

Create new post

1
hexo new "first post"

Create a new page on Hexo or Algorithm.

1
2
hexo new page hexo
hexo new page algorithm

Run Hexo server locally

1
hexo server

Generate the Website

1
2
hexo clean
hexo generate

Deploy your Website to Github

Push source to public

1
hexo deploy 

Add underline of header

Add the commend in markdown

1
2
This text is also text! <!-- New line here... -->
---

add-mermaind

環境セットアップ

hexo-filter-mermaid-diagramsのインストール

1
npm install hexo-filter-mermaid-diagrams --save

Mermaidの_config.ymlの設定

1
2
3
4
5
mermaid:
enable: true
version: "7.1.2"
# Available themes: default | dark | forest | neutral
theme: default

Mermaidの読み込み

hexo-theme-icarus/layout/common/scripts.jsxに以下を追加する

1
<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.4.0/mermaid.min.js"></script>

ダイアグラム図作成

フローチャート図

1
2
3
4
5
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
    click D "https://google.com";

シーケンス図

1
2
3
4
5
6
7
8
9
10
11
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail...
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John: Hello John, how are you?
    loop Healthcheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts 
prevail... John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!

ガンチャート図

1
2
3
4
5
6
7
8
9
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram to mermaid

section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
gantt
dateFormat  YYYY-MM-DD
title Adding GANTT diagram to mermaid

section A section
Completed task            :done,    des1, 2014-01-06,2014-01-08
Active task               :active,  des2, 2014-01-09, 3d
Future task               :         des3, after des2, 5d
Future task2               :         des4, after des3, 5d

クラス図

1
2
3
4
5
6
7
8
9
10
11
12
13
14
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label

Gitグラフ

1
2
3
4
5
6
7
8
9
10
gitGraph
commit
commit
branch develop
commit
commit
commit
checkout main
commit
commit
gitGraph
   commit
   commit
   branch develop
   commit
   commit
   commit
   checkout main
   commit
   commit

Quadrant Chart

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
quadrantChart
title Reach and engagement of campaigns
x-axis Low Reach --> High Reach
y-axis Low Engagement --> High Engagement
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A: [0.3, 0.6]
Campaign B: [0.45, 0.23]
Campaign C: [0.57, 0.69]
Campaign D: [0.78, 0.34]
Campaign E: [0.40, 0.34]
Campaign F: [0.35, 0.78]

quadrantChart
    title Reach and engagement of campaigns
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 We should expand
    quadrant-2 Need to promote
    quadrant-3 Re-evaluate
    quadrant-4 May be improved
    Campaign A: [0.3, 0.6]
    Campaign B: [0.45, 0.23]
    Campaign C: [0.57, 0.69]
    Campaign D: [0.78, 0.34]
    Campaign E: [0.40, 0.34]
    Campaign F: [0.35, 0.78]

Pie chart diagrams

1
2
3
4
5
pie title Pets adopted by volunteers
"Dogs" : 386
"Cats" : 85
"Rats" : 15

pie title Pets adopted by volunteers
    "Dogs" : 386
    "Cats" : 85
    "Rats" : 15

フローチャート

flowchart 

A(開始)
B(終了)
処理1
C[処理2]
D{判断}
E[処理2-2]
F{{準備}}
G1[/外部データ<上にあると入力>/]
G2[/外部データ<下にあると出力>/]
H[[定義<マクロ>]]
I[(データベース)]
J1((結合子A))
J2((結合子A'))
K1[/ループ開始\]
K2[\ループ終了条件式/]

A --> F
F --> K1
K1 --> 処理1
処理1 --> D
D --> E & G1
E --> H
G1 --> C --> G2
G2 & H --> K2 --> B

H -.- J1
J2 --> マクロ内容開始 --- I --- マクロ内容終了 --> J2

install-hexo

Hexo インストール

1
2
3
hexo init <folder>
cd <folder>
npm install

hexo-theme-icarusのインストール

1
npm install -S hexo-theme-icarus hexo-renderer-inferno

_config.yml ファイル

1
theme: icarus

もしくは

1
hexo config theme icarus