recursal/Fanatic-Fandom huggingface dataset:
다항 분류

다항 분류(multiclass classification)는 하나의 인스턴스를 여러 클래스 중의 하나로 분류하는 문제이다.

방법
--

보통 딥러닝에서는 라벨을 기준으로 타겟 벡터를 만든 뒤 예측된 벡터와의 차이를 평가하는 지표를 손실 함수로 사용한다.

Rethinking the Inception Architecture for Computer Vision(arXiv:1512.00567)에서 라벨 스무딩(Label smoothing)을 제안하는 등, 항상 참인 라벨에 100%의 신뢰도를, 거짓인 라벨에 0의 신뢰도를 주는 원-핫(One-hot) 벡터를 사용하지 않는 경우도 있다.

## 같이 보기

* 교차 엔트로피
* 이진 분류
* 다중 인스턴스 학습(multiple instance learning, MIL)
* 다중 라벨 분류(multi-label classification)
깊이별 합성곱

**깊이별 합성곱**(Depthwise Convolution)은 채널별로 서로 다른 가중치를 사용해 출력 채널에서 서로 다른 데이터를 생산하는 합성곱이다. 그룹 합성곱(Group convolution)에서 그룹의 원소 갯수가 1이고, 그룹 갯수가 입력 채널 수와 동일한 경우이다. PyTorch에서는 그룹 합성곱의 일종으로 입력하도록 되어 있다.

## 같이 보기

* 합성곱(convolution)
* 점별 합성곱(Pointwise convolution)
* 깊이별 분리 합성곱(Depthwise separable convolution)
* 그룹 합성곱(Grouped convolution)
자기 지식 증류

자기 지식 증류(self-knowledge distillation)는 스스로 자신의 선생이 되어 지식 증류를 수행하는 기법이다.

논문
--

* Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation(arXiv:1905.08094) : BYOT
* Data-Distortion Guided Self-Distillation for Deep Neural Networks(doi 10.1609/aaai.v33i01.33015565) : DDGSD
* Regularizing Class-wise Predictions via Self-knowledge Distillation (arXiv:2003.13964) : CSKD
* Refine Myself by Teaching Myself: Feature Refinement via Self-Knowledge Distillation (arXiv:2103.08273) : FRSKD

종류
--

Knowledge Distillation and Student-Teacher Learning for Visual Intelligence: A Review and New Outlooks(arXiv:2004.05937)에 따르면 자기 지식 증류는 Born Again Neural Networks 형, 깊은 레이어를 선생으로 이용하는 형태, 데이터 증대를 통해 선생을 만드는 형태 3가지로 주로 나뉜다.

Moonshine: Distilling with Cheap Convolutions(arXiv:1711.02613)에서 학생과 선생의 구조가 거의 비슷한 경우가 제안되었으나 자기 지식 증류인지 논란의 소지가 있다.
SEED: Self-supervised Distillation For Visual Representation

SEED: Self-supervised Distillation For Visual Representation(arXiv:2101.04731)는 자기 지도 학습(self-supervised learning)이 작은 모델에서 잘 적용되지 않는 문제를 해결할 수 있는 자기 지식 증류 기법에 대한 논문이다.
선생과 학생 사이에 표현이 직접 유사하도록 학습시키는 대신, queue에 들어있는 표현들과 선생의 표현 사이의 유사도와, queue에 들어있는 표현들과 학생의 표현 사이의 유사도가 비슷하게 특정될 수 있도록 학습하였다.

원리
--

MoCo와 같이 encoder를 통과시켜서 Instance Queue인 K개의 D를 얻고, 맨 뒤에 이번 i번째 인스턴스에 대한 선생의 임베딩을 L2-정규화시킨 ziT을 넣어서 D를 만든다.

i번째 데이터 증대된 입력 xi를 가지고 계산된 선생의 출력 ziT가 있다고 하자. ziT과 D를 합쳐서 K+1개의 원소로 이뤄진 큐 D+를 만든다.

D는 선입선출법으로 채워지므로, 이전에 들어온 입력이 지워지고 다른 인스턴스에 대한 선생의 출력들로 D+가 구성되게 된다.

D+에 대해 선생의 출력 ziT와 학생의 출력 ziS 각각에 대해 스승과 학생에 대해 유사도 스코어 pT(xi;θT,D+) , pS(xi;θS,D+) 를 구한다. z와 d 사이의 내적을 구한 뒤에 증류 온도로 나눠준 값에 softmax를 취하여 얻는다.

pT(xi;θT,D+) =[x1T…xK+1T

pjT=exp(ziT·dj/τT) / (Σd~D+exp(ziT·dj/τT))

여기서 pS(xi;θS,D+) =[x1S…xK+1S

여기서 pjS=exp(ziS·dj/τS) / (Σd~D+exp(ziS·dj/τS))

자기 지식 증류를 통해 pT(xi;θT,D+) 와 pS(xi;θS,D+) 사이의 교차 엔트로피를 최소화한다.

선생의 네트워크가 훈련중에 고정되므로 D도 이미지의 입력 순서가 정해져있으면 고정된다고 한다.

비고
--

선생의 지식 증류 온도가 0으로 수렴하는 경우, Representation Learning with Contrastive Predictive Coding(arXiv:1807.03748) 논문에서 제안한 Info-NCE 손실로 수렴한다고 한다.

## 관련 논문

* Momentum Contrast for Unsupervised Visual Representation Learning (arXiv:1911.05722): MoCo V1
* Improved Baselines with Momentum Contrastive Learning (arXiv:2003.04297): MoCo V2
* An Empirical Study of Training Self-Supervised Vision Transformers(arXiv:2104.02057): MoCo V3

## 외부 링크

* 공식 구현
* 비공식 구현
* Papers With Code 페이지
MoCo

MoCo(Momentum Contrast)는 대조 학습을 통한 자기 지도 학습의 기법이다.

종류
--

* Momentum Contrast for Unsupervised Visual Representation Learning (arXiv:1911.05722): MoCo V1
* Improved Baselines with Momentum Contrastive Learning (arXiv:2003.04297): MoCo V2
* An Empirical Study of Training Self-Supervised Vision Transformers(arXiv:2104.02057): MoCo V3

## 같이 보기

* SEED: Self-supervised Distillation For Visual Representation(arXiv:2101.04731)
* SimCLR
VOC

VOC의 뜻은 다음과 같다.

* 휘발성 유기 화합물
* PASCAL VOC

VOC에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
변형 가능한 합성곱

변형 가능한 합성곱(deformable convolution)은 Deformable Convolutional Networks(arXiv:1703.06211)에서 제안된 합성곱으로, 텐서에서 합성곱 연산에 사용할 점을 취하는 점을 조절할 수 있는 합성곱이다. 원래의 합성곱 위치에서 양방향으로 조정할 좌표 양은 보통 특징 맵에 얇은 합성곱 레이어를 연결해서 계산한다. 이를 통해 이미지의 변형에 강인한 네트워크를 만들 수 있다.

## 같이 보기

* 합성곱(convolution)
* 점별 합성곱(pointwise convolution)
* 깊이별 분리 합성곱(depthwise separable convolution)
* 깊이별 합성곱(depthwise convolution)
* 그룹 합성곱(Group Convolution)
토큰화

토큰화(tokenization)는 자연어 처리에서 문장을 낱말이나 형태소 단위로 분해하는 작업이다. 변환기 보급 이후에는 이미지도 일정한 사이즈로 잘라서 토큰화해서 처리한다.

토큰화를 시켜주는 모을 토크나이저(Tokenizer, 토큰화자)라고 한다.

## 자연어 처리 토큰화의 종류

* 문자 기반 토큰화(character-based tokenization)
* 하위 단어 토큰화(subword tokenization)
* 단어 기반 토큰화(word based tokenization)

## 한국어 토큰화

한국어를 토큰화할때는 형태소를 분석해서 토큰화하면 비용을 줄일 수 있다.

Python 프로젝트 KoNLPy(코엔엘파이)에서는 한나눔 형태소 분석기(Hannanum), 꼬꼬마 한국어 형태소 분석기(Kkma), KOMORAN, mecab-ko, Open Korea Text(Okt)을 지원한다.

한국어는 일본어와 어휘는 많이 다르지만 문법 구조가 비슷하여, 일본어 용인 MeCab을 개량한 mecab-ko이 성능이 좋은 편이다.

Kakao에서도 한글 토크나이저를 개발했는데, 최종본인 khaiii는 합성곱 신경망을 이용해 토큰화를 한다.

* dha1 (Daumkakao Hangul Analyzer 1)
* dha2 (Daumkakao Hangul Analyzer 2)
* khaiii(Kakao Hangul Analyzer Ⅲ)github

## 비용 문제

Open AI의 경우 거의 문자 기반 토큰화에 가깝게 한글을 처리하고 있어서, 시연 가능 한국어 정보 처리시 비용이 많이 발생한다. 그나마 GPT-3에선 자모 단위에 가깝게 토큰화했으나, 지금은 음절 단위에 가깝게 개선되었다.

Open AI에 따르면  영어의 경우 1토큰은 약 4글자, ¾단어에 해당된다.

언어 자원에 대해 다룬 BBC 기사에서도 언어의 규모에 따른 토큰 수의 불평등에 대해서 다루었다.

## 비전 변환기의 토큰화

패치화(Patchify)라고 부른다. 여기에 맨 앞에 class token을 추가하는 경우가 많다.

각주
--

1. ↑ What are tokens and how to count them?
2. ↑ 챗GPT의 편향성...비영어권 사용자가 소외되는 3가지 측면
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale(arXiv:2010.11929)은 비전 변환기의 시초 논문이다. 이 논문에서 만든 변환기 모델을 ViT이라고 한다.

## 유사한 제목의 논문

* A Time Series is Worth 64 Words: Long-term Forecasting with Transformers(arXiv:2211.14730)
* Not All Images are Worth 16x16 Words: Dynamic Transformers for Efficient Image Recognition(arXiv:2105.15075)
Dave

Dave is an alien species known as the Traneons. He lived a peaceful life on his home planet, Travenkie, until Pual arrived. Pual landed in The Mega Spaceship and was ambushed by The Galactic Government. They took them out and proceeded to search for survivors. Dave hid but was found by Chuck. Chuck attempted to kill him but Pual stopped him and took Dave with him. They got attacked again and escaped to The Mega Spaceship, where Pual left Travenkie and destroyed the planet before The Galactic Government could follow them. Pual brainwashed Dave and he has false memories of always living with Pual. Who knows what would happen if he found out. Back to Home
비최대 억제

비최대 억제(Non-maximum suppression)는 크기가 국소적인 최대(local maximum)가 아닌 것을 찾고자 하는 것의 후보에서 제외하는 기법이다.

## 윤곽선 검출

캐니 윤곽선 검출 방법에서는 윤곽선 방향의 수직(gradient가 놓여있는 방향)으로 이웃한 점 간에 gradient를 비교하여, gradient가 작은쪽을 억제시켜 edge 후보에서 제외한다.

## 객체 탐지

객체 탐지에서 비최대 억제(Non-maximum suppression)의 기본 버전은 바운딩 박스(bounding box) 후보 추출시, 같은 종류의 객체가 있을 것으로 제안된 bounding box끼리 비교하여 IoU를 기준으로 일정 비율 이상 겹치는 바운딩 박스끼리 객체가 있을 확률을 비교해 가장 높은 bounding box만 남기는 것이다.

이때 특정 class에 대해 가장 객체가 들어있을 확률(confidence)이 높다고 판정된 bounding box부터 순차적으로 중복되는 상자 후보를 없애는 방법을 수행한다.

여기에 threshholding을 적용하여, 일정 confidence 이하인 bounding box 후보는 미리 제외한다.

문제점은 같은 class인 물체들이 붙어있는 경우 명백히 다른 객체인데 후보에서 제외될 위험이 있다.

Soft-NMS -- Improving Object Detection With One Line of Code(arXiv:1704.04503)에서 이를 해결하기 위해 Soft-NMS 방법을 제안하였다.

Soft-NMS 에서는 같은 class로 제안된 서로 다른 bounding box간에 겹치는 경우, IoU에 의해 결정되는 1 이하의 값을 confidence에 곱한다. 겹치지 않을 수록 confidence에 곱하는 값이 1에 가깝다.
고유 식별자

고유 식별자(unique identifier, UID)는 다른 대상이면 다르게 부여되도록 보증이 된 식별자이다. 따라서 주민등록번호나 자동차 번호가 잘못 중복 발급된 경우처럼 실수로 여러 대상에 같은 고유 식별자가 부여된 경우, 적어도 한쪽을 변경하여 식별자의 고유성을 보장하게 된다.

하나의 대상에게는 하나만 부여되는 것이 일반적이지만, 목적이 다를 경우 하나의 대상에게 여러 고유 식별자가 부여될 수 있다.

예컨데 해리 포터의 작가 조앤 롤링은 국제표준이름식별자(ISNI) 등의 여러 식별자에서 서로 다른 필명간에 다른 식별자를 부여받았다.
Cross-Image Relational Knowledge Distillation for Semantic Segmentation

Cross-Image Relational Knowledge Distillation for Semantic Segmentation(arXiv:2204.06986)는 의미론적 분할(semantic segmentation)을 위한 관계 기반 지식 증류법인 CIRKD을 다룬 논문이다.

## 관련 연구

### 의미론적 분할 논문

* FCN(arXiv:1411.4038)
* DeepLab 시리즈
* PSPNet(arXiv:1612.01105)
* RefineNet(arXiv:1611.06612)
* SegFormer(arXiv:2105.15203)
* ENet(arXiv:1606.02147)
* ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation(arXiv:1803.06815)
* ICNet(arXiv:1704.08545)
* BiSeNet
* MobileNet
* ShuffleNet

### 지식 증류

이 논문에서는 지식 증류를 크게 3종류로 나누었다.

* 확률 기반 지식 증류 ( Probability-based KD) : 로짓 증류
* 특징 기반 지식 증류(Feature-based KD)
* 관계 기반 지식 증류(Relation-based KD)

방법
--

이 논문에서는 의미론적 분할을 이미지의 특징을 변형시켜서, 각 픽셀에 대한 분류 로짓 맵( categorical logit map)을 얻고, 참값과의 교차 엔트로피 손실을 최소화하는 문제로 보았다.

따라서 쿨백-라이블러 발산과 힌턴의 지식 증류를 활용하여 학습을 할 수 있다.

### 이미지 간 관계 지식 증류

이미지 간 관계 지식 증류( Cross-Image Relational Knowledge Distillaton)로를 위해서는, 태스크 손실, 일반 지식 증류 손실 외에 3가지의 지식 증류를 추가한다.

* Mini-batch-based Pixel-to-Pixel Distillation
* Memory-based Pixel-to-Pixel Distillation
* Memory-based Pixel-to-Region Distillation

pixel embedding을 각 클래스 별로 평균내어 region embedding을 구할 수 있다.

#### Mini-batch-based Pixel-to-Pixel Distillation

각 픽셀간의 픽셀 임베딩 유사도에 관한 행렬을 만들고 이를 학습시키는 관계 기반 지식 증류이다.

#### Memory-based Pixel-to-Region Distillation

실험
--

DeepLab V3과 PSPNet(arXiv:1612.01105)을 주로 이용했다.

### 대조군

* Structured Knowledge Distillation for Semantic Segmentation: SKD
* Intra-class Feature Variation Distillation for Semantic Segmentation: IFVD
* Channel-wise Knowledge Distillation for Dense Prediction : CWD(arXiv:2011.13256)
* CIRKD (본 논문)

## 같이 보기

* Structured Knowledge Distillation for Semantic Segmentation
A ConvNet for the 2020s

A ConvNet for the 2020s(arXiv:2201.03545)는 ConvNeXt라는 합성곱 신경망을 제안한 논문이다.

비전 변환기의 ViT과 Swin Transformer가 등장한 후 밀려버린 SOTA를 되찾기 위해 ResNeXt와 Swin Transformer의 장점을 딴 새로운 구조를 제안했다.

## 차이점

다른 합성곱 신경망과의 차이점은 대부분 비전 변환기(특히 Swin Transformer)나 ResNeXt의 특징을 가져왔다.

* stem을 4×4 non-overlapping convolution으로 변경했다.
* 큰 커널 사이즈의 depth-wise convolution을 도입하고, 한 ConvNeXt Block중 맨 앞에 배치했다.
* Inverted Bottleneck 구조 사용
* 활성화 함수와 정규화 레이어의 종류를 바꾸고, 사용횟수를 줄임

## 적용 이유

* stem

트랜스포머의 패치 구조를 모방한 것이다.

* Inverted bottleneck

트랜스포머의 특징은 MLP expansion factor를 채널수에 곱하여 채널수를 늘려 더 많은 특징을 분석하는 것이기 때문에 이를 모방했다.

* stage별 block 수 비율 조정

맨 마지막 stage에서 너무 많은 연산을 수행하는 것은 좋지 않다는 생각에 작은 모델은 1:1:3:1. 큰 모델은 1:1:9:1의 비율로 블록을 쌓은 Swin Transformer의 비율을 그대로 적용했다.

종류
--

모델 크기 별로 5개가 있다.

* ConvNeXt-T (Tini)
* ConvNeXt-S (Small)
* ConvNeXt-B (Big)
* ConvNeXt-L (Large)
* ConvNeXt-XL (eXtra Large)

앞의 4가지 각각은 대응되는 Swin Transformer와 FLOPs가 비슷하게 만들어졌다.

* ConvNeXt-T: C = (96, 192, 384, 768), B = (3, 3, 9, 3)
* ConvNeXt-S: C = (96, 192, 384, 768), B = (3, 3, 27, 3)
* ConvNeXt-B: C = (128, 256, 512, 1024), B = (3, 3, 27, 3)
* ConvNeXt-L: C = (192, 384, 768, 1536), B = (3, 3, 27, 3)
* ConvNeXt-XL: C = (256, 512, 1024, 2048), B = (3, 3, 27, 3)

실험
--

기본적인 분류 실험은

ImageNet-22K로 사전학습한 ImageNet-1K 실험과, ImageNet-1K로만 학습한 실험을 했다.

Downstream Task를 위한 실험은 다음 데이터셋을 용했다.

* 의미론적 분할(Semantic segmentation): ADE20K
* 물체 검출/분할 : COCO

## 같이 보기

* More ConvNets in the 2020s: Scaling up Kernels Beyond 51x51 using Sparsity
적대적 기계학습

적대적 기계학습(Adversarial machine learning)은 기계학습 방법을 속이거나, 정보를 유출하거나, 잘못된 방향으로 학습이 진행되게 '공격'하는 방법을 연구하는 기계학습 분야이다.

## 주요 용어

적대적 예제라 함은 한 클래스에 속함에도, 실제로 기계학습 모델에서 잘못 분류되는 예제이다.

적대적 공격은 일부러 적대적 예제를 생성해 딥러닝 모델을 공격하는 방법이다.

적대적 훈련은 적대적 예제로 학습하면 적대적 예제에 강한 모델이 생기지 않을까 하는 접근 방식이다.

## 같이 보기

* 적대적 학습(Adversarial training)
* 적대적 예제
* 적대적 공격
* 적대적 훈련
* 모델 추출 공격
DOI

* 디지털 객체 식별자(digital object identifier)
* 이미지 선명도(Distinctness of image)
* 침윤 깊이(depth of invasion), 의학 용어
* 반응 깊이(depth-of-interaction), 방사선학 용어

DOI에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
Decoupled Knowledge Distillation

Decoupled Knowledge Distillation(arXiv:2203.08679)은 지식 증류를 할때 암흑지식 즉 non-target class에 대한 지식과 target class에 대한 지식을 분리해서 지식증류를 수행한 논문이다.

고전적 지식 증류에서 target에 대한 지식과 non-target에 대한 지식을 각각 target class knowledge distillation (TCKD)와 non-target class knowledge distillation (NCKD)로 나눈다. 그 뒤 각각에 대해 정해진 매개변수를 곱하여 손실함수를 정한다.

수식
--

pt를 target class의 예측된 확률이라고 하면

고전적 지식증류 기법은 손실함수 KD = TCKD + (1 ptT )NCKD 로 다시 쓸 수 있다.

본 논문에서는 새로운 지식 증류 기법의 손실함수 DKD = αTCKD + βNCKD를 제안했다.

훈련
--

### 네트워크

* ResNet
* WideResNet
* ShuffleNet
* MobileNetV2

### 데이터셋

* CIFAR-100
* ImageNet
* MS-COCO

### 대조군

* FitNets: Hints for Thin Deep Nets(arXiv:1412.6550): FitNet
* Relational knowledge distillation(arXiv:1904.05068):RKD
* Contrastive Representation Distillation(arXiv:1910.10699):CRD
* A Comprehensive Overhaul of Feature Distillation(arXiv:1904.01866):OFD
* Distilling Knowledge via Knowledge Review(arXiv:2104.09044): ReviewKD
* Distilling Object Detectors with Fine-grained Feature Imitation(arXiv:1906.03609):FGFI
ResNet

ResNet(레즈넷)은 잔차 신경망(Residual neural network)의 줄임말로 Deep Residual Learning for Image Recognition(arXiv:1512.03385)에서 제안된 합성곱 신경망이다.

VGGNet을 기반으로 하여 두 개의 3x3 convolution을 건너뛰는 skip connection이 있는 Basic Block과 1x1 합성곱으로 채널을 줄인 뒤 3x3 합성곱을 하고 다시 1x1 합성곱 연산으로 채널을 늘이고, 3개의 합성곱을 건너뛰어 시작과 뒤를 연결하는 skip connection이 있는 Bottleneck block을 만들었다.

각 블록의 맨 끝에서는 여러 합성곱 레이어를 거쳐 나온 값과 skip connection을 통해 전달받은 값을 단순히 합치는 방법으로 결합시켜준다.

34개 레이어 이하의 작은 네트워크는 Basic Block으로, 50개 이상 큰 레이어는 Bottleneck block으로 쌓아서 신경망을 구성했다.

이를 통해 각각의 블록은 원래의 입력을 기준으로 하여, 얼만큼 변화시켜야 다음 블록에 좋은 값을 전할 수 있는지 배우기 위해, 입력과 출력의 차이인 잔차(residual)을 학습하게 된다.

첫 논문에서는 잔차를 계산하는 잔차 유닛(Residual Unit)에서 합성곱→배치 정규화→ReLU→합성곱→배치 정규화를 했는데,

두 번째 논문에서는 배치 정규화→합성곱→ReLU→배치 정규화→합성곱으로 변경했다. 후자가 성능이 더 좋다고도 하고 혼용해서 둘 다 레즈넷이라고 부르지만 PyTorch와 TensorFlow에는 원본을 기준으로 구현되어있다.

논문
--

* Deep Residual Learning for Image Recognition(arXiv:1512.03385)
* Identity Mappings in Deep Residual Networks(arXiv:1603.05027)

변형
--

* ResNet-D: Bag of Tricks for Image Classification with Convolutional Neural Networks
* ResNet-RS: Revisiting ResNets: Improved Training and Scaling Strategies(arXiv:2103.07579)
* Stochastic ResNet: Deep Networks with Stochastic Depth(arXiv:1603.09382)
* WideResNet: Wide Residual Networks(arXiv:1605.07146)

## 관련 문서

* DenseNet
* VoVNet
Comet rays

## Comet ray

(Image of them coming soon...maybe)

A species that lives for around 100,000~ years, due to them being born to travel through space they age rather slow, they reproduce by going to The Hatchery(Idk what to name it) that idk how to explain it but theirs like a globe and they like idk nothing bad but then a egg spawns and they have to wait like 1,000-1,500 years for it to develop and hatch, there eggs mostly are purple, dark blue or a light yellow. They can mostly eat anything, depending on there diet there faces can look like otherworldly animals like Rabbits, Ants, buffalo and many more, but they would have to be in the diet for around atleast 2,000 or 6,000 max depending on there diets. After they atleast the age of 8,700 there original eye colors, starts to discoler off of there eyes, dripping out of there eye until all of it is gone, revealing there true eye colors and sometimes it shows there personality. they can stand on two legs, and dress up.

They soon had a war against Wing'dust's that lasted around 50,000 years called The War of Stone

Since The Royal Massacre, Queen Willow's son, Quartz has became king, now known as the youngest royal to ever become king at the age of 732

## Ocs of that species (ig)

* Willow
* Toby
* Iris
* Quartz
* Beetle
A Comprehensive Overhaul of Feature Distillation

A Comprehensive Overhaul of Feature Distillation(arXiv:1904.01866)는 네이버와 서울대학교 연구실에서 발표한 특징 증류 논문이다.

홈페이지 github 구현

개요
--

일반적으로 특징 증류라 함은 선생 네트워크 t와 학생 네트워크 s에 대해, 특징 Ft·Fs와 각각의 변환 Tt·Ts, 거리 함수 d에 대해 증류 로스 Ldistill을 최소화하는 문제라고 한다

Ldistill = d(Tt(Ft), Ts(Fs)).

그러나 여기서 선생 네트워크와 학생 네트워크는 채널 수 등이 다를 수 있기 때문에 서로의 시선을 맞춰주는 절차가 무조건 필요해진다.

앞으로 선생 네트워크가 사용할 변환을 선생 변환(Teacher transform), 학생 네트워크가 사용할 변환을 학생 변환(Student transform)이라고 부른다.

적절한 선생 변환과 학생 변환, 각 네트워크로부터 특징을 추출하는 지점, 손실 함수 계산에 활용할 거리 함수를 잘 선택하면 지식 증류가 완성된다.

## 대조군

실험에 사용한 대조군과 그 약칭은 다음과 같다.

* FitNets: Hints for Thin Deep Nets(arXiv:1412.6550): FitNets
* Paying more attention to attention: Improving the performance of convolutional neural networks via attention transfer(arXiv:1612.03928): AT
* A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning(doi 10.1109/CVPR.2017.754): FSP
* Knowledge Transfer with Jacobian Matching(arXiv:1803.00443): Jacobian
* Paraphrasing Complex Network: Network Compression via Factor Transfer(arXiv:1802.04977): FT
* Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons(arXiv:1811.03233): AB

지식 증류를 하지 않은 Baseline과, 이 논문 Proposed 를 비교해 실험했다.

표는 이 논문에서 가져왔다.

## 대조군 별 특성

선생의 채널 수를 직접 줄여서 채널수를 맞추는 방법과, 학생의 채널 수를 늘려서 맞추는 방법으로 나눌 수 있다. FitNets와 AB, Proposed 방법은 1x1 conv로 학생의 채널 수를 늘리고 선생의 채널 수는 유지한다.

AT, FSP, Jacobian은 직접 채널수를 줄이면서 정보가 손실될 수 있다.

이 논문 저자에 따르면 학생 네트워크에서도 역시 같은 변환을 거치는 AT, FSP, Jacobian, FT에선 정보가 손실된다고 한다.

그러나 FitNets와 AB처럼 1x1 conv를 해서 채널을 늘려서 선생과 채널수를 맞추는 경우, 정보가 손실되지 않는다고 한다. 이 Proposed 방법 또한 학생이 추출한 특징을 변환할때 1×1 conv를 이용했다.

특징
--

선생 모델의 특징을 맞출때 사용한 활성화 함수를 종전에 AB 논문에서 부호를 나타내던 함수나 ReLU가 아닌, Margin ReLU라고 max(m,x) (여기서 m은 음수)를 적용했다. 특정한 값으로 고정할 수도 있으나, 여기서 m은 음수 입력의 기댓값으로 잡았다.

distillation target의 위치를 ReLU의 바로 앞으로 변경하고,

loss는 L2 로스에 기반하되 ReLU의 성질을 이용해 학생이 예측한 값이 Margin ReLU를 통과한 선생의 예측보다 작고, Margin ReLU를 통과한 선생의 예측이 음수인 경우는 loss를 0으로 하였다.

학생 모델에서 특징 증류를 위해 비교할 값을 계산할때 쓰는 1×1 conv 레이어 뒤에 배치 정규화(BN)까지 단 것을 사용했다.

실험
--

분류 실험은 CIFAR-100에 대해서 WideResNet, PyramidNet을

ImageNet의 ILSVRC 2012에 대해서 ResNet과 MobileNet을 사용했다.

객체 탐지는 Single Shot Detector (SSD, arXiv:1512.02325)를 사용했다.
INR

* 개시 요소(initiator element, Inr)
* 암시적 신경 표현(Implicit Neural Representation), 정확히는 음함수적 신경 표현
	+ Implicit Neural Representations with Periodic Activation Functions(arXiv:2006.09661)

INR에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
ShuffleNet

ShuffleNet(셔플넷)은 모바일 기기에 적합한 합성곱 신경망이다. 1x1 합성곱을 그룹 합성곱(Group convolution)으로 바꾸고, MobileNet처럼 깊이별 합성곱(Depthwise Convolution)을 적용하여 시간을 줄인다.

이때 채널이 섞여 각 그룹의 출력이 그 블록의 두번째 그룹 합성곱에 다 들어갈 수 있도록 셔플을 시켜준다.

논문
--

* ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices(arXiv:1707.01083): ShuffleNet V1
* ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design(arXiv:1807.11164): ShuffleNet V2
L2 정칙화

L2 정칙화는 어떤 문제의 손실함수에 x의 유클리드 노름의 제곱의 상수배를 곱한 값을 더한 뒤 그것을 최소화하는 문제로 바꾼 것이다.

이는 Ax-b의 유클리드 노름(L2 거리)을 최소화하는 티호노프 정칙화의 특별한 경우이다. 원래 선형대수학에서 Ax=b에 가장 근사한 해를 얻으려면 Ax-b의 유클리드 노름의 제곱인

‖
A

x

−

b

‖
2
2

{\displaystyle \|A\mathbf{x} - \mathbf{b}\|\_2^2}

을 최소화한다. 티호노프는 여기의 손실 함수에

‖
Γ

x

‖
2
2

{\displaystyle \|\Gamma \mathbf{x}\|\_2^2}

을 부가함으로서 정칙화를 할 수 있다고 제안했다.

L2 정칙화는 티호노프 행렬

Γ

{\displaystyle \Gamma}

에 대해

‖
A

x

−

b

‖
2
2

‖
Γ

x

‖
2
2

을 최소화하는 티호노프 정칙화에서 티호노프 행렬이 단위행렬의 상수배(즉 스칼라 행렬)인 경우와 같다.

이는 어떤 값을 최적화하는 문제에 손실 함수로

C

‖

x

‖
2
2

{\displaystyle \mbox{C} \|\mathbf{x}\|\_2^2}

을 부가하는 것으로 해석할 수 있다.

확률적 경사 하강법(SGD)를 포함한 경사 하강법에서, 이는 한번 업데이트한 해에

λ
x

{\displaystyle \lambda x}

를 빼어주는 가중치 감쇠(weight decay) 방식과 같다.

그러나 2차 미분을 이용한 최적화 기법이나, 2차 미분의 성질을 조금 들어간 최적화 기법에서는 L2 정칙화와 strictly한 가중치 감쇠(weight decay)가 같지 않다. 보통 혼용해서 쓰지만, 뜻을 명확하게 하기기 위해 strictly한 가중치 감쇠(weight decay)를 decoupled weight decay라고도 부른다. 이것은

Decoupled weight decay regularization 논문에서 다룬 AdamW Optimizer의 핵심 특징이다.
Variational Information Distillation for Knowledge Transfer

Variational Information Distillation for Knowledge Transfer(arXiv:1904.05835)는 변분 베이즈 방법(Variational Bayesian methods)을 이용한 지식 증류인 VID를 다룬 논문이다.

설명
--

선생과 학생 사이의 상호정보는, 선생의 엔트로피에서 학생을 전제로 한 선생의 조건 엔트로피를 뺀 값이며

I(t; s) = H(t) − H(t|s)= −Et[log p(t)] + Et,s[log p(t|s)]= H(t)+ Et,s[log p(t|s)]로 표기된다.

따라서 쿨백-라이블러 발산(Kullback–Leibler divergence)의 성질을 활용하면 다른 분포 q를 이용해서 H(t)+ Et,s[log q(t|s)]를 계산하면 이보다 작다는 사실을 알 수 있다.

그 다음 변분 분포 q(t|s)에 대해 H(t)+ Et,s[log q(t|s)]를 최대화 하는 것을 변분 분포 최대화(variational information maximization)라고 한다.

이 변분분포를 최대화 하는 q를 학습하는 것이 과제이다.
QAT

QAT의 뜻은 다음과 같다.

* 양자화 인식 훈련(Quantization Aware Training)
* 인텔의 퀵어시스트 기술(QuickAssist Technology), 암호화와 데이터 압축에 사용

QAT에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
차원 붕괴

차원 붕괴(Dimensional Collapse)는 대조 학습 방식의 자기 지도 학습에서 흔히 일어나는 현상으로 출력 벡터가 낮은 차원의 벡터, 극단적으로는 모든 입력에 대해 동일한 벡터로 붕괴하는 현상이다. 이를 예방하기 위한 방법은 비대조 학습이다. BYOL 논문(arXiv:2006.07733) 등에 따르면, 비대조 학습에서는 차원 붕괴가 경험적으로 관측되지 않는다.

논문
--

* Understanding Dimensional Collapse in Contrastive Self-supervised Learning(arXiv:2110.09348)
* Barlow Twins: Self-Supervised Learning via Redundancy Reduction(arXiv:2103.03230)

## 같이 보기

* 차원 축소
* 차원의 저주
Amalgamation

Amalgamation은 아말감화, 결합이나 융합을 의미하는 단어이다.

논문
--

지식 증류 논문에서 지식을 융합시키는 논문들이 있다.

* Customizing Student Networks From Heterogeneous Teachers via Adaptive Knowledge Amalgamation(arXiv:1908.07121)
* Knowledge Amalgamation from Heterogeneous Networks by Common Feature Learning(arXiv:1906.10546)
* Amalgamating Knowledge towards Comprehensive Classification(arXiv:1811.02796)

## 같이 보기

* 결합
* 융합
* 합금
Mixup

mixup은 mixup: Beyond Empirical Risk Minimization(arXiv:1710.09412)서 제안된 데이터 증대 기법으로, 이미지의 픽셀값 섞어주고 label도 섞어 주었다.

## 유사 기법

* CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features(arXiv:1905.04899): CutMix
* Improved Regularization of Convolutional Neural Networks with Cutout(arXiv:1708.04552) : Cutout

* Co-Mixup: Saliency Guided Joint Mixup with Supermodular Diversity(arXiv:2102.03065)
* Manifold Mixup: Better Representations by Interpolating Hidden States(arXiv:1806.05236)
* Puzzle Mix: Exploiting Saliency and Local Statistics for Optimal Mixup (arXiv:2009.06962)

## 같이 보기

* A Comprehensive Overhaul of Feature Distillation(arXiv:1904.01866)
* Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons(arXiv:1811.03233)

* 다양체 가설
생성적 적대 신경망

생성적 적대 신경망(generative adversarial network, GAN)은 2014년 이안 굿펠로우와 요슈아 벤지오의 Generative Adversarial Nets(arXiv:1406.2661) 에서 발표된 생성 모델이다. 진짜 이미지와 유사한 가짜 이미지를 만드는 생성 모델(generator)과, 진짜와 가짜를 분별하는 판별 모델(discriminator)을 학습하는 것을 반복하면서 생성 성능과 판별 성능을 각각 극대화하는 원리이다.

논문
--

* Generative Adversarial Nets(arXiv:1406.2661)
* Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks(arXiv:1511.06434) : DCGAN
* Progressive Growing of GANs for Improved Quality, Stability, and Variation(arXiv:1710.10196) : PGGAN
* A Style-Based Generator Architecture for Generative Adversarial Networks(arXiv:1812.04948) : StyleGAN code
* Analyzing and Improving the Image Quality of StyleGAN(arXiv:1912.04958) : StyleGAN2 code
* Training Generative Adversarial Networks with Limited Data(arXiv:2006.06676) : StyleGAN2-ADA code
비전 변환기

비전 변환기(Vision Transformer) 또는 비전 트랜스포머는 컴퓨터 비전을 위해 특별히 개발된 변환기(트랜스포머)다.

2020년 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 논문이 이것의 시초가 되는 ViT을 발표했다.

## 주요 모델

* ViT
* DeiT (Data-efficient image Transformers)
* CvT
* Swin Transformer
* Dense Prediction Transformer(DPT) : Vision Transformers for Dense Prediction(arXiv:2103.13413)

## 기타 사항

트랜스포머는 주의집중(어텐션)을 이용하지만, 이것이 컴퓨터 비전에서 어텐션만 주로 사용해서 구현한 최초의 네트워크는 아니다. 자기 주의집중(self-attention)을 이용해서 만든 첫 네트워크는 Stand-Alone Self-Attention in Vision Models 논문에서 다뤄졌으며, 기존 CNN 네트워크의 구조를 그대로 따와서 합성곱을 대체했다.
The Creator

Wowiwaiirowairow

She was the first version of my oc AND ITS A PLACEHOLDER IMAGE I SWEAR

She has the power to let herself into the universes she has, but one this always stays the same, her bright cyan eyes, in every form she takes, any animal she will always have the same bright cyan eyes.

## Willow (Comet Universe)

she first actually met Willow when she had died after getting thrown into a blazing star, she revived because well she likes how she is acting out of her original plan, she likes to see her struggle and take the most chaotic route to solve things. a bit upset that she had died by someone so low of her who she called her own daughter but she liked how the story was going so she didint revive her a second time.

## Willow'fern (Cat Universe)

Her first experiment into making her own small universes, She tests most of her plot ideas on Willow'fern, before putting them into the main universe that she mostly focused on, but as of recently, she feels like Willow'fern is aware of what is happening, that she is not the one In control of her moves.

## Dark (Victor Universe)

Shes annoyed by the sad little thing, she dosent see a reason for him to be always SAD and SAD and BLEH, she keeps Dark entertained by ruining her life and see how she deals with her pathetic ways, She mostly does it every once in a while but mostly just watches it when she is bored

## Copper (Both Cat Universe and Comet Universe)

She was the second one to meet Snowy yet she still finds Copper annoying, so she swapped his original body(Cat U) to his new body(Comet U), she saw him entertaining at first but once he started to... FORCEFULLY distance himself from Willow and the rest she just let him go until Quartz made him his Royal advisor, she saw interest and possibility in him again

## Toby (Comet Universe)

The very last one to meet Snowy, She saw how much possibility he had if she just...had control on him so thats what she did, she made Toby crazy to add...spice to the story, a sacrifice of his sanity for interesting story tellings, yet she is confused, Why does he think Willow is still alive?
잠재 의미 분석

**잠재 의미 분석**(Latent Semantic Analysis, LSA)은 자연어 처리 기법이다.

문서별로 용어의 사용빈도를 나타내는 희소 행렬로는 별도의 가중치를 적용하지 않은 문서-용어 행렬(Document-Term Matrix, DTM)이나 그에 가중치를 적용한 tf-idf가 있다.

여기에 특이값 분해를 적용시켜 작은 고유값에 대응되는 것을 날려서 차원 축소한 뒤 유사도를 구해서, 문서사이의 유사도를 구할 수 있다. 또한 특이값 분해 고유벡터를 이용해 토픽과 단어사이의 관계를 추출할 수도 있다.

## 같이 보기

* 확률적 잠재 의미 분석(Probabilistic Latent Semantic Analysis, PLSA)
* 문서-용어 행렬(Document-Term Matrix, DTM)
* 잠재 디리클레 할당(Latent Dirichlet allocation, LDA)
* 분포의미론(distributional semantics)
* 형식의미론(formal semantics)
* 특이값 분해
* 코사인 유사도
* 토픽 모델
* tf-idf
Swin Transformer

Swin Transformer는 Swin Transformer: Hierarchical Vision Transformer using Shifted Windows(arXiv:2103.14030)에서 제안된 비전 변환기이다. 중국 베이징에 있는 Microsoft Research Asia에서 만들었다.

구조
--

전체 이미지에 대해 self-attention을 하면 시간이 많이 들기 때문에 window 단위로 self-attention을 하되, 한 stage 내에서는 한번 어텐션을 포함한 block을 지나면, 다음 block에서는 window를 자르는 위치를 바꾸어 window를 창의 크기의 절반씩 가로세로로 옮겨주는 Shifted Windows 메커니즘을 적용한다. 작아진 자투리가 생기면 복잡하므로, 이미지의 상하와, 이미지의 좌우를 연결해준다.

대신 실제로 인접하지 않은 픽셀간에 attention이 계산되지 않도록, 여러 인접하지 않은 조각이 붙어서 이루어진 window의 attention을 계산할때는 masking을 처리해준다. 또한 stage가 넘어갈 수록 window를 합쳐준다.

종류
--

* Swin-T: C = 96, 레이어 갯수 = {2, 2, 6, 2}
* Swin-S: C = 96, 레이어 갯수 = {2, 2, 18, 2}
* Swin-B: C = 128, 레이어 갯수 = {2, 2, 18, 2}
* Swin-L: C = 192, 레이어 갯수 = {2, 2, 18, 2}

개량
--

Swin Transformer V2: Scaling Up Capacity and Resolution(arXiv:2111.09883)

## 같이 보기

* HaloNet
* ViT
* CvT
ViT

ViT은 비전 변환기의 시초가 되는 구조이며, 구글 브레인 소속 연구자들이 쓴 논문인 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale(arXiv:2010.11929)에서 소개된 최초의 비전 변환기이다.

구조
--

* 이미지를 16x16 픽셀 크기로 패치화 한뒤, 문장처럼 간주하여 변환기에 집어넣었다. 위치 임베딩(positional embedding)을 하고, 맨 앞에 분류 토큰(classification token)을 집어넣는다. Transformer Encoder에서 처리하고 나온 분류 토큰의 값을 MLP Head에 넣으면 최종 class가 예측되어 나온다.

특징
--

합성곱 신경망보다 Inductive bias가 부족하다.
완화

완화 (Relaxation)

* 완화 (평형)
* 제약 완화: 근사 방법
* 완화 (반복법) : 축차가속완화법(SOR) 따위

완화에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
음성 인식

음성 인식(Speech Recognition)은 음성, 특히 발화를 인식하는 기계학습의 과제이다.

## 음성 인식 아키텍처

* wav2vec
	+ wav2vec: Unsupervised Pre-training for Speech Recognition(arXiv:1904.05862)
	+ vq-wav2vec: Self-Supervised Learning of Discrete Speech Representations(arXiv:1910.05453)
	+ wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations(arXiv:2006.11477)
Exclusivity-Consistency Regularized Knowledge Distillation for Face Recognition

Exclusivity-Consistency Regularized Knowledge Distillation for Face Recognition(doi 10.1007/978-3-030-58586-0\_20,ECCV)은 얼굴 인식(face recognition)에 맞는 특징 증류 기법 EC-KD(Exclusivity-consistency)를 발표한 논문이다.

개념
--

얼굴 인식 태스크에서는 최종 결과가 벡터 특징으로 주어진다. 여기서는 최종 결과 특징 벡터를 선생과 학생 사이에 비슷하게 맞춰주면서, 학생의 합성곱 레이어 가중치가 좀더 다양한 특징을 반영할 수 있도록 하는 손실 함수를 넣었다. 이를 가중치 독점도라는 개념으로 나타낸다.

비교를 위해 가중치 텐서의 모양을 RN×D 형으로 바꾼다.

가중치 독점도(Weight Exclusivity)
주 필터 벡터 R1×D 사이의 가중치 독점도는, 두 벡터의 아다마르 곱(Hadamard product)의 l0-*norm*으로 정의 된다. l0-*norm*은 여기서 데이비드 도노호(David Donoho)의 정의에 따른 l0-*norm*으로, 0이 아닌 원소의 수로 노름이 아니다.

완화된 가중치 독점도
R1×D 꼴 두 벡터의 아다마르 곱(Hadamard product)의 l1-norm으로 정의된다.
최종 가중치 독점도
RN×D 꼴의 벡터에서 i,j번째 줄을 R1×D 사이즈로 뽑은 뒤, i와 k가 다른 경우에 대해 완화된 가중치 독점도의 총합을 계산한다.

특징 일관성( Feature Consistency)
선생과 학생 사이의 특징의 거리를 L2 노름으로 잡고 특징 일관성 LHF을 계산 한 뒤, soft max에 넣어 각 배치별 추가로 계산에 반영할 가중치를 구한다. softmax output을 si라고 하면 그 인스턴스에 대해서 1+ si 배로 손실에 반영한다. 이를 통해 난이도를 고려한 특징 일관성( hardness-aware feature consistency) LHFC를 구한다.
을 구한다.
Knowledge Distillation by On-the-Fly Native Ensemble

Knowledge Distillation by On-the-Fly Native Ensemble(arXiv:1806.04606)은 ONE이라는 이름의 온라인 지식 증류 기법에 대한 논문이다. 앙상블 학습법(Ensemble learning)을 적용해서 만든 로짓을 선생 모델 대신 활용하였다.

구조
--

입력과 얼마 떨어져있지 않은 Low-level layer에서 분기하여 m개의 auxiliary branch를 만들었다. m+1개의 출력을 이용해 teacher의 출력을 구성한다.

각 branch별로 학생 손실의 총합, 선생의 교차 엔트로피 손실, 각 branch별로 학생과 선생 사이의 증류 손실을 다 더하면 최종 손실 함수가 된다.

1. 각 브랜치의 예측을 구한다.
2. 선생의 로짓을 구한다.
3. 선생과 각 브랜치의 소프트 타겟을 구한다.
4. 지식을 증류한다.
5. 최종 손실 함수를 구한다.
6. SGD에 의거하여 모델 매개변수를 업데이트한다.

실험
--

SENet, ResNet, ResNeXt, DenseNet 등을 이용했고, 데이터셋은 CIFAR-10, CIFAR-100, SVHN, ImageNet 등을 이용했다.
생성 모델

생성 모델(Generative model)은 확률분포 중 결합분포를 추정할 수 있는 모델이다. 이를 통해 주어진 변수에 대해 알려지지 않은 변수를 추정함으로서, 새로운 데이터를 만들어낼 수 있다.

생성 모델은 생성형 인공지능이나 데이터 증대(data augmentation)에도 사용되고, 이상 데이터는 생성 모델에 의해 생성되지 않기 때문에 이상 탐지(anomaly detection)에도 쓰인다.

## 같이 보기

* 판별 모델(Discriminative model)
* 생성형 인공지능
* GAN
* 변분 오토인코더(Variational autoencoder)
* 확산 모델
윤곽선 검출

윤곽선 검출(edge detection)은 이미지의 밝기에 가파른 변화나 불연속이 있는 윤곽선(edge)을 찾는 기법이다.

## 고전적 방법

가장 유명한 윤곽선 검출 방법은 캐니 윤곽선 검출기(Canny edge detector)이다.

1. 가우시안 커널을 이용해서 매끄러운 이미지를 얻는다.
2. 1차 미분을 수평, 수직 방향으로 차분 연산자를 써서 구하고, 삼각법을 이용해 기울기의 방향과, 그 절댓값을 얻는다. 기울어진 방향을 0도, 45도, 90도, 135도 중의 하나로 이산화한다.
3. 찾고자하는 윤곽선 방향별로 그의 수직인 법선 방향의 픽셀들과 기울기 크기를 비교한다. 예를 들어 수평방향 윤곽선을 검출할때는, 수직방향으로 떨어진 픽셀과 기울기의 크기를 비교한다.
4. 비최대 억제(non-maximum suppression)를 적용해 4개 방향별로 기울기 크기가 극대(local maximum)인 윤곽선 후보만 고른다.
5. 큰 임계값과 작은 임계값을 정한다.(double thresholding) 이 값을 기준으로 edge의 기울기에 따라 강한 윤곽선/약한 윤곽선/윤곽선 아님 3가지로 나눈다.
6. 약한 윤곽선을 계속 강한 윤곽선에 연결시키고, 마지막까지 연결되지 않은 것은 윤곽선이 아닌 것으로 본다.
구조적 재매개변수화

구조적 재매개변수화(Structural Re-parameterization) 기법은 딥러닝에서 학습중이 아닐때 계산결과가 동일하지만, 좀더 단순한 네트워크로 매개변수를 바꿔주면서 네트워크 구조를 바꾸는 기법이다.

RepVGG: Making VGG-style ConvNets Great Again 논문에서 제안되었다. 저자들은 단순히 한 branch에서는 AxA의 합성곱, 다른 branch에서는 더 작은 BxB의 합성곱을 한 뒤 결과값이 곧바로 합쳐지는 경우 뿐만 아니라, 한 branch가 배치 정규화 레이어를 통과하는 경우도 가중치를 더할 수 있다고 지적했다.
배치 정규화

배치 정규화(Batch Normalization, BN)은 레이어에 들어가는 특징을 배치 단위로 대응되는 위치끼리 정규화하는 기법이다. 구글에서 발명했다. 합성곱 신경망에서 널리 쓰이는 기법인데 배치 사이즈가 작으면 적용하기 힘든 단점이 있다.

정규화를 하지 않으면 다음 레이어로 거듭해갈때마다 특징 값의 평균이 0에서 멀어지게 되는 내부 공변량 변화(Internal covariante shift)가 나타나는데, 대부분의 활성화 함수에서 이는 입력의 따른 출력의 변화로 학습할 수 있는 정보를 줄이게 된다.

비전 변환기에는 레이어 정규화(Layer Normalization, LN) 많이 쓰인다.
색

색(色)은 눈에 들어오는 빛의 주파수에 따른 인식이다.

## 인간의 색 지각

인간은 가시광선을 흑백을 감지하는 간상세포와 색을 감지하는 원추세포로 눈에서 수용한다.

## 색채어

색채어(色彩語, color term) 는 색을 가리키는 단어이다.

기본 색채어는 언어에 기본적으로 사용되는 색채어이다. 원시시대와 전근대에는 다양한 염료나 색소를 사용할 수 없었기 때문에 현대 패션이나 디자인에서 널리 사용되는 색이라도 기본 색채어가 아니라서, 불편이 생기는 경우가 있다.

한국어 2차 기본 색채어의 사용 양상 논문(서울대 국어국문학과 이수연) 등 여려 연구를 절충하면 한국어의 색 위계는

* 1등급: 빨강, 노랑, 파랑, 하양, 검정
* 1.5등급: 초록, 보라
* 2등급: 주황, 연두, 청록, 남색, 보라, 자주, 분홍, 갈색, 회색
* 유명 관용색: 하늘색
* 기타 관용색: 병아리색, 레몬색, 키위색 등

등으로 나눌 수 있다.

## 컴퓨터 비전

컴퓨터 비전에서는 보통 RGB 3개의 색이나, 다른 색 공간으로 변환하여 한 픽셀당 3차원인 입력을 가지고 훈련시키는 경우가 많지만 초분광 이미징(Hyper-Spectral Imaging, HSI)에서는 3개보다 많은 채널을 이용해서 이미지를 처리한다.
SSD

SSD의 뜻은 다음과 같다.

* 솔리드 스테이트 드라이브
* SSD: Single Shot MultiBox Detector(arXiv:1512.02325)

SSD에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
CSPNet

CSPNet(Cross Stage Partial Network)은 CSPNet: A New Backbone that can Enhance Learning Capability of CNN(arXiv:1911.11929)에서 제안된 기존의 네트워크의 채널을 나누어 처리하는 네트워크이다.

DenseNet에 적용한 CSPDenseNet에서는 채널을 반으로 나누어 Dense layer에 넣지 않고 partial transition layer에 보내고, 뒷부분만 가지고 Dense layer에 넣는다.

뒷부분들이 concat된 텐서에 convolution을 취해 채널을 줄이고, Dense layer에 넣지 않은 앞부분과 결합시켜준다.

ResNet, ResNeXt에 적용할때는, BottleNeck layer를 적용하지 않는다.

본 논문에서는 PeleeNet에도 적용하였고, YOLO에서는 Darknet에 적용하였다.
CSPNet: A New Backbone that can Enhance Learning Capability of CNN

CSPNet: A New Backbone that can Enhance Learning Capability of CNN(arXiv:1911.11929)은 Cross Stage Partial Network (CSPNet)이라는 새로운 합성곱 신경망 구조를 제안한 논문이다.

PeleeNet, ResNet, ResNeXt, DenseNet에 적용하여 실험하였다.

DenseNet을 기준으로 하여, 채널의 절반을 나누어 앞부분은 Dense layer에 넣지 않고 partial transition layer에 보내고, 뒷부분만 가지고 Dense layer에 넣는다.

뒷부분들이 concat된 텐서에 convolution을 취해 채널을 줄이고, Dense layer에 넣지 않은 앞부분과 결합시켜준다.

그 뒤 다시 convolution layer에 넣어서 출력을 얻는다.

영향
--

YOLO 시리즈중에도 Darknet에 CSPNet을 적용한 것이 있다. YOLOv4, YOLOv5, YOLOv8이 CSPNet 구조를 적용했다.
Correlation Congruence for Knowledge Distillation

Correlation Congruence for Knowledge Distillation(arXiv:1904.01802)은 관계 기반 지식 증류 논문의 하나로, 임베딩 공간 내에서 학생과 선생 내부에서, 인스턴스 사이의 상관 관계를 측정한 뒤, 그 인스턴스 간의 상관 관계가 잘 일치되도록 한 CC-KD라는 지식 증류 기법에 대한 논문이다.

손실은 교차 엔트로피 손실, (로짓) 지식 증류 손실, 상관관계 일치도 손실을 조절해서 얻었으며, 상관관계 일치도를 구하는 방법으로 naive MMD, Bilinear Pool, Gaussian RBF 3가지 방법을 제안했다.

Gaussian RBF는 두 값의 유클리드 거리의 정규분포함수를 취한 것이다.

각 배치 내에서 클래스 간 상관관계, 클래스 내 상관관계를 같이 잘 고려하기 위해서, 클래스별, 슈퍼클래스별로 고르게 섞어준다.
SSL

SSL의 뜻은 다음과 같다.

* 보안 소켓 레이어(Secure Sockets Layer) : 전송 계층 보안(Transport Layer Security, TLS)의 전신 규격
* 자기 지도 학습(self-supervised learning)

SSL에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
Bootstrap Your Own Latent A New Approach to Self-Supervised Learning

Bootstrap Your Own Latent A New Approach to Self-Supervised Learning(arXiv:2006.07733)은 자기 지도 학습 기법 Bootstrap Your Own Latent(BYOL) 을 다룬 논문이다.

내용
--

동일한 이미지를 다르게 데이터 증대한 쌍(positive pairs)을 이용하고 서로 다른 이미지에서 유래한 (negative pairs)는 사용하지 않았다. 이것이 대조 학습 기법과 다르다.

Momentum Contrast for Unsupervised Visual Representation Learning (arXiv:1911.05722)처럼 타겟 네트워크는 직접 경사하강법으로 학습되지 않고 지수이동평균(exponential moving average)으로 학습되게 했다.

온라인 네트워크는 encoder fθ, a projector gθ, a predictor qθ를 가지고 있고

타겟 네트워크는 target decay rate τ ∈ [0, 1]에 의해 ξ ← τ ξ + (1 − τ )θ의 규칙으로 학습되며,

encoder fξ, a projector gξ만을 가지고 있다.

encoder와 projector, predictor에 의해 각각

* v->yθ->zθ->qθ(zθ)
* v'->yξ'->zξ'->sg(zξ')

으로 변화된다. 여기서 sg는 경사하강법을 끊어낸 것을 의미하며, 함수값에 영향을 미치지 않는다.

이때 qθ(zθ)과 zξ'->sg(zξ')의 유사도를 측정하면 된다.

그 유사도는 L2-정규화한 값 사이의 차이의 L2-노름을 제곱한 값 즉 L2-정규화한 값 간의 평균제곱오차(Mean Squared Error, MSE)이며

L2-정규화하지 않고 코사인 유사도 x를 구한 뒤. 그 x를 s(x)=2-2x에 넣는 식으로 계산할 수도 있다.

ξ의 변수는 고려하지 않고 θ에 대해서만 훈련을 시키면 된다. 이때 stop gradient를 이용하면 된다.

v와 v'를 바꿔주어 각각 로스를 계산한뒤 더함으로서 온라인과 타겟 간에 대칭적으로 훈련이 될 수 있도록 했다.

모든 벡터에 대해 같은 값을 내는 식으로 붕괴될 위험이 없다는 것을 수치적으로 증명하진 못했지만 가설의 근거를 제시했다.

구현
--

원본은 딥러닝 프레임워크 중 Google JAX(구글 잭스)로 구현되어있으며 haiku를 사용했다.

* github 페이지

## 같이 보기

* 비대조 학습(non-contrastive learning)
* Exploring Simple Siamese Representation Learning(arXiv:2011.10566
* SimCLR
Student Customized Knowledge Distillation: Bridging the Gap Between Student and Teacher

Student Customized Knowledge Distillation: Bridging the Gap Between Student and Teacher(doi 10.1109/ICCV48922.2021.00501, ICCV 2021)은 지식 증류에서 학생과 선생 사이의 지식을 맞추는 방법에 대한 논문이다.

Student Customized Knowledge Distillation (SCKD)라는 지식 증류 기법을 만들었다.

지식증류는 선생의 암흑지식까지 전달 가능하다는 장점이 있지만, Improved Knowledge Distillation via Teacher Assistant(doi 10.1609/aaai.v34i04.5963) 논문과 On the Efficacy of Knowledge Distillation(arXiv:1910.01348) 논문에 따르면, 성능이 최고인 선생을 사용한다고 성능이 항상 개선되지는 않는다. 이들은 이런 현상을 용량 불일치(capacity mismatch) 때문이라고 밝혔다.

이를 해결하는 TAKD 기법은 큰 선생과 작은 학생의 중간에 중간 선생을 추가해 주었고, ESKD 기법은 조기 중지(early stopping)법을 이용해주었다.

이걸 해결하기 위해 gradient similarity의 관점에서 지식 증류 과정을 분석했다. 이를 통해 용량 불일치(capacity mismatch)가 지식 증류 과정 전체에서, 모든 레이어에 대해서 발생하는게 아니라고 밝혔다.

그리고 특징 증류 든 로짓 증류든 기울기 유사도의 관점에서 유사한지 아닌지에 따라 증류를 할지 말지 스위치처럼 켜고 끄는 지식 증류 기법을 제안했다. 이를 위해 로짓 증류 손실, 레이어별 특징 증류 손실에 대해 스위치를 통해 매번 계산되는 0~1의 상수를 곱해주었다.

primarily supervision 즉 학생의 출력과 지도학습 라벨 사이의 차이에 의해 계산되는 손실함수에 의한 gradient와 지식 증류 손실에 따른 gradient 사이의 코사인 유사도를 계산하고, 이 값이 임계값 ϕ 이상이면 그 레이어나 로짓에 대한 지식 증류 정보가 학생에게 해롭다고 판단하였다.

Center Kernel Alignment (CKA) Similarity of Neural Network Representations Revisited(arXiv:1905.00414) 기법을 이용해 분석하였다.

## 대조군

분류 모델
* ResNet 18, 50
* MobileNetV2
* ShuffleNetV2

데이터셋
* CIFAR-100
* ImageNet

방법
* NOKD (지식 증류 생략)
* BLKD (힌턴)
* TAKD
* ESKD
* SCKD (이번 논문)

객체 탐지 모델
* Faster R-CNN
* RetinaNet
* 둘다 ResNet18 백본

방법
* FBOD(Feature-Based Object Detector)
* SCKD (이번 논문)

의미론적 분할(Semantic Segmentation)
* Cityscapes 데이터셋

모델
* PSPNet
* SKD: Structured Knowledge Distillation for Semantic Segmentation(doi 10.1109/CVPR.2019.00271)
* IFVD(doi 10.1109/ICCCN49398.2020.9209726)

## 같이 보기

* Improved Knowledge Distillation via Teacher Assistant(doi 10.1609/aaai.v34i04.5963): TAKD(Teacher Assistant)
* On the Efficacy of Knowledge Distillation(arXiv:1910.01348): “Early-stopped” knowledge distillation (“ESKD”)
Learning Transferable Architectures for Scalable Image Recognition

Learning Transferable Architectures for Scalable Image Recognition(arXiv:1707.07012)은 NasNet 이라는 합성곱 신경망을 만든 논문이다. 신경망 아키텍처 탐색(neural architecture search, NAS)기법으로 블록을 설계했다.

Neural Architecture Search with Reinforcement Learning(arXiv:1611.01578)에서 제시된 방법을 개량했다. 컨트롤러 순환 신경망(RNN)을 policy gradient 방법에 의해 가중치를 업데이트해가며 모델 구조를 찾는다.

NasNet은 Normal Cell 과 Reduction Cell으로 이뤄져 있다.

## 같이 보기

* Neural Architecture Search with Reinforcement Learning(arXiv:1611.01578)
* MnasNet: Platform-Aware Neural Architecture Search for Mobile(arXiv:1807.11626)
* 신경망 아키텍처 탐색(neural architecture search, NAS)
FBNet

FBNet은 Facebook-Berkeley-Nets라는 뜻으로 페이스북과 캘리포니아 대학교 버클리(UC 버클리)에서 신경망 아키텍처 탐색(NAS)를 이용해서 만든 딥러닝 네트워크이다.
V1과 V2는 경량 신경망이고, V3부터는 구조가 좀 다르고 경량이라고 할 정도에 이르지는 않았다.

계보
--

* FBNet
	+ FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search(arXiv:1812.03443): FBNetV1
	+ FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions(arXiv:2004.05565): FBNetV2
	+ FBNetV3: Joint Architecture-Recipe Search using Predictor Pretraining(arXiv:2006.02049): FBNetV3
	+ FBNetV5: Neural Architecture Search for Multiple Tasks in One Run(arXiv:2111.10007): FBNetV5
Designing Network Design Spaces

**Designing Network Design Spaces**(arXiv:2003.13678)은 RegNet(regular network)이라는 합성곱 신경망을 제안한 논문이다.

설명
--

본 논문에서는 심층 합성곱 신경망의 아키텍처를 찾기 위해 수동으로 설계하는 것과 신경망 아키텍처 탐색(neural architecture search, NAS) 기법의 한계를 지적하였다. 그 뒤, 설계의 범위는 사람이 정하고 자동으로 너비나 깊이, 그룹화 등의 정보를 탐색하게 하였다.

ResNet의 Bottleneck을 변형하여 **X 블록**(X block)을 만들었다.

X block은 stride에 따라 2가지 종류가 있다.

stride가 2인 X block은 각 stage의 첫부분에 배치되며, bottleneck부분의 3x3 합성곱과 skip connection에서 strider 2 연산을 적용해 사이즈를 반으로 줄인다.

stride가 1인 X block은 각 stage의 다음 부분에 배치된다. stride에 관계 없이, bottleneck부분에는 group convolution을 적용한다.

네트워크의 선택 공간을 제한하기 위해

number of blocks di, block width wi, bottleneck ratio bi, group width gi
. 4가지 요소를 사용한다.

이때,

di ≤ 16, wi ≤ 1024 and divisible by 8, bi ∈ {1, 2, 4}, and gi ∈ {1, 2, 4, 8, 16, 32}에서 찾도록 했고, log-uniform sampling을 수행했다.

group width는 group의 갯수와 다르며, 깊이별 합성곱(depth-wise convolution)은 group width가 1이다.

만약 잘못하여 wi가 gi의 배수가 아닌경우, g가 더 큰 경우 g를 줄여서 맞추고, 그렇지 않은 경우 w를 반올림해서 g의 배수로 만들어준다.

이러한 X block으로 이뤄진 네트워크를 AnyNetX라고 하고, di와 wi가 단조증가해야 하는 조건이 실험적으로 성능이 좋음을 보였다.

이런 조건을 AnyNetXE라고 한다.

그 뒤, 블록의 총 갯수, 각 스테이지별 블록 갯수, block width등을
number of blocks d가 주어지면, block width와 각 블록이 어떤 스테이지에 속하는지를, 등차수열을 등비수열의 값으로 이산화하여 같은 값으로 이산화된 수들은 같은 스테이지로 대응시키고, 이산화된 최종 값을 block width로 결정하는 방식으로 결정한다.

그렇게 해서 탐색 공간을 더 줄인 RegNetX를 만들고, SENet의 Squeeze and excitation 을 넣어 RegNetY를 만들었다.

이렇게 만든 RegNet을 가지고 실험하였다.
Regularizing Class-wise Predictions via Self-knowledge Distillation

Regularizing Class-wise Predictions via Self-knowledge Distillation(arXiv:2003.13964)은 자기 지식 증류에 의해 암흑지식을 정칙화하는 법을 개발한 기법이며, 이 자기 지식 증류법은 CS-KD라고 한다.

원리
--

훈련 데이터셋에서 배치 x를 뽑은 뒤, 레이블이 동일한 다른 배치 x'을 뽑는다.

가중치가 동일한 네트워크에 대해 훈련시키고, 클래스별 암흑지식의 결과 나오는 class별 로짓이 둘 사이에 비슷해지도록 훈련한다.

둘을 비교하는건 원본 결과의 교차 엔트로피 손실에, 힌턴의 지식 증류 처럼 온도를 조절한 soft target을 비교하여 두 배치 사이에 쿨백-라이블러 발산을 구한 뒤 T^2과 classwise 정칙화 상수 λcls를 곱한 값을 더하면 된다.

저자들은 이 방식이 Label Smoothing보다 논리적이고, 효과적이라 주장했다.

또한 손실 함수에 같은 방법으로 데이터 증대되어 배치와 같은 class에 속하는 입력의 출력을 비교하는 consistency loss 항을 추가한 CS-KD-E 방법을 만들었다.

실험
--

ResNet, DenseNet, ResNeXt과 CIFAR-100, TinyImageNet, Stanford Dogs, CUB-200-2011, MIT Indoor Scenes(MIT67)을 사용했다.

### 대조군

* AdaCos: Adaptively Scaling Cosine Logits for Effectively Learning Deep Face Representations(arXiv:1905.00292) : AdaCos
* Virtual Class Enhanced Discriminative Embedding Learning(arXiv:1811.12611) : Virtual-softmax
* Maximum-Entropy Fine Grained Classification(NeurIPS) : Maximum-entropy
* When Does Label Smoothing Help?(arXiv:1906.02629) : Label Smoothing

* Data-Distortion Guided Self-Distillation for Deep Neural Networks(doi 10.1609/aaai.v33i01.33015565) : DDGSD
* Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation(arXiv:1905.08094) : BYOT
* Mixup

분석
--

로짓이 계산되기 전 마지막 히든 레이어인 penultimate layer를 t-SNE로 시각화한 결과, CS-KD 기법은 좀더 동글동글하게 같은 class끼리 모여있는 형태로 되었다고 밝혔다.
Feature Pyramid Networks for Object Detection

Feature Pyramid Networks for Object Detection(arXiv:1612.03144)는 객체 탐지를 위해 Feature Pyramid Network(특징 피라미드 네트워크, FPN) 구조를 도입한 논문이다.

합성곱 신경망에서 특징 맵이 계속 작아지는 것을 이용하면, 이미 서로 다른 크기의 객체를 추출할 수 있었다.

그러나 초기 레이어들은 low-level feature를, 후기 레이어들은 high-level feature를 가지고 있어서 특징의 종류가 다르다.

종래의 SSD: Single Shot MultiBox Detector(arXiv:1512.02325) 논문은 low-level feature를 버리고 중간 부분부터 multi-scale feature를 동시에 사용해 객체 탐지를 행했는데 이것이 비효율적이라고 보았다.

각각 원본 이미지의 1/4, 1/8, 1/16, 1/32 해당하는 이미지를 추출하고, 각 stage의 뒷부분에서 추출하는 방식을 사용했다.

이 논문에서는 계속 배율이 커지는 Botton-up pathway와, upsampling을 하는 Top-down pathway을 연결시킨다.

Botton-up pathway에 있는 feature를 떼어 1x1 conv를 거쳐 특징 맵을 만들든다.

이것을 2x2 upsampling 하여 아래 stage로 내린다.

아래 stage에서는 옆에 대응되는 Bottom-up stage에서 1x1 conv하여 떼어온 feature와, 위에서 upsampling 해서 내려오는 Top-down stage 정보를 덧셈을 통해 결합시킨다.

top-down stage와 결합할 것이 없는 최상층 피처 맵도 역시 1x1 conv를 해서 feature map을 만든다.

이를 통해 원본 이미지의 1/4, 1/8, 1/16, 1/32 해당하는 특징 맵 4개가 생긴다.

Faster R-CNN에 FPN을 도입한 Faster R-CNN on FPN은 SOTA를 기록했다.

## 같이 보기

* SSD: Single Shot MultiBox Detector(arXiv:1512.02325)
* Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(arXiv:1506.01497)
전이학습

전이학습(transfer learning)은 한 태스크에 대해 학습한 결과물을 다른 태스크 문제를 학습하기 위해 활용하는 기계학습 기법이다. 많은 컴퓨터 비전 문제에서 ImageNet으로 사전학습(pre-training)된 모델을 많이 사용한다.

## 주요 논문

* Rethinking ImageNet Pre-training(arXiv:1811.08883)
* Rethinking Pre-training and Self-training(arXiv:2006.06882)

## 같이 보기

* 도메인 적응
* 증분 학습(incremental learning) 혹은 계속 학습(continual learning)
* joint learning
* alternate training
The Royal Massacre

The Royal Massacre was an Event that happend during one of Queen Willow's Royal parties

(Oh my god finnaly a story lore?!??!?!)

(Pov: Quartz)

Mother was chatting with one of the royal guest during the ball that she hosted every month, I was in-front of her while she chatted with them, she was talking about wing'dusts.... why is Iris holding that knife? Why is she stalking Mother? Before I could even say anything to warn Mother, Iris stabbed Mother. her screams echoed in the ball room, the red paint from the knife splatters onto the floor, onto my face, onto the guest's dress, I couldn't say anything, all I could do is watch my mother's dead eyes staring back at me, as a pool of red paint.
PeleeNet

PeleeNet은 DenseNet의 구조와 Stem 부분을 개량한 합성곱 신경망이다.

Pelee: A Real-Time Object Detection System on Mobile Devices(arXiv:1804.06882)에서 제안되었다.

특징
--

* Dense Layer에서 k개의 채널을 가진 feature를 생성할때, k/2개의 채널을 가진 두가지 경로로 나누어 생성한 뒤 합치기
* DenseNet의 핵심 요소인 덴스 블록(Dense block)들 앞에 Stem Block을 추가하기
* 활성화 함수가 적용되는 순서를 pre-activation에서 post-activation으로 변경
* Transition Layer에서 채널 수를 줄여주는 것을 빼기
* DenseNet의 Dense Block의 초기 레이어는, bottleneck layer에서 1x1 conv를 수행하면서 채널수가 늘어나게 되는데, 채널 수가 늘어나지 않도록 하는 조건을 널기
	+ DenseNet Dense block l번째 layer의 입력은 k0+(l-1)k개의 feature를 가지고 있는데 통과하면 4k개의 feature로 늘어나는 문제가 있었다.

설명
--

PeleeNet은 Pelee이라는 모바일 기기에 적합한 객체 탐지(object detection) 네트워크의 backbone으로 개발된 것이다.

## 관련 문서

* VoVNet
* MobileNet
* DenseNet
객체 탐지

객체 탐지(object detection)는 컴퓨터 비전에서 보이는 이미지에서 객체 부분을 검출하는 기법이다.

## 딥러닝 이전

SIFT(Scale Invariant Feature Transform, 척도 불변 특징 변환), 단어 가방 모형(bag-of-words), HOG 등의 기법이 쓰였다.

## 딥러닝 시대

2014년 2단계 검출기(Two-stage detector)로 영역 기반 합성곱 신경망(Region Based Convolutional Neural Networks)의 첫 주자인 R-CNN이 등장하기 시작했고 그 후 계속 개량되었다.

1단계 검출기(One-stage detector)는 YOLO가 등장한 뒤로 계속 개량되었으며, 그 외에 RetinaNet 등의 중요한 구조가 있다.

기존 방법 대부분은 객체를 검출하기 전 앵커 상자(Anchor box)를 이용해 객체가 있음직한 영역을 미리 한정짓고 그 안에서 찾는 기법을 활용했다.

### 분류도

검출 단계에 따른 구분

* 1단계 검출기(One-stage detector)
	+ YOLO
	+ SSD: Single Shot MultiBox Detector
	+ RetinaNet
* 2단계 검출기(Two-stage detector)
	+ 영역 기반 합성곱 신경망(Region Based Convolutional Neural Networks)
		- R-CNN
		- Fast R-CNN
		- Faster R-CNN
		- MASK R-CNN
		- Cascade R-CNN

앵커(Anchor) 유무에 따른 구분
* 앵커 기반 객체 탐지(Anchor-based Object Detection)
	+ 2019년 이전 기존 방법 대부분
* 앵커 프리 객체 탐지(Anchor-free Object Detection)
	+ FCOS: Fully Convolutional One-Stage Object Detection

### 세부 구조 및 용어

* Region Proposal Network
* Focal Loss
* Feature Pyramid Network
	+ Feature Pyramid Networks for Object Detection(arXiv:1612.03144)에서 제안
* 비최대 억제(Non-maximum suppression)
	+ 중복되는 바운딩 박스를 줄여주는 기법. 캐니 윤곽선 검출에서 사용된 것과 같다.
SDE

SDE의 뜻은 다음과 같다.

* 스테레오 깊이 추정(stereo depth estimation)
* 확률미분방정식(stochastic differential equation)
* 프로그래머의 다른 표현: 소프트웨어 개발 엔지니어(software development engineer)

SDE에 대한 명확화 문서아 문서는 같은 제목을 공유하는 문서에 대한 명확화 문서입니다.Please follow one of the disambiguation links below or search to find the page you were looking for if it is not listed. If an internal link led you here, you may wish to change the link to point directly to the intended article.
도메인 적응

도메인 적응(domain adaptation)은 전이학습을 할때 소스 데이터와 타겟 데이터의 차이 때문에 학습이 잘 되지 않는 문제를 해결하는 기술이다.

지도 학습, 반지도 학습, 비지도 학습 형태로 모두 가능하다.

## 주요 논문

* Unsupervised domain adaptation by backpropagation(arXiv:1409.7495)
* Adversarial Discriminative Domain Adaptation(arXiv:1702.05464)
* Return of frustratingly easy domain adaptation(arXiv:1511.05547
* Deep CORAL: Correlation Alignment for Deep Domain Adaptation(arXiv:1607.01719)
* Learning Transferable Features with Deep Adaptation Networks(arXiv:1502.02791)
Born Again Neural Networks

Born Again Neural Networks(arXiv:1805.04770)는 Born-Again Networks (BANs)라는 지식 증류 기반의 딥러닝 네트워크에 대한 논문이다.

Born-Again Networks는 지식 증류에 의해 학습된 모델을 앙상블한 네트워크이다. step 0에서는 직접 선생을 학습시키고, step 1부터 step k까지 는 이전 step의 네트워크를 선생으로 사용해 지식 증류 기법으로 학생 모델을 학습한 뒤, step 1부터 step k까지 k개의 모델을 앙상블해 결과를 얻었다.

실험은 DenseNet과 WideResNet을 사용했다.

이 논문에서는 잘못된 분류에 대한 로짓 지식이 클래스간 상관관계에 대한 정보를 학습하는걸 돕는다는 암흑지식(dark knowledge)이론을 실험했다. 실험결과 암흑지식을 제거해도 지식증류의 효과가 나타남을 보였다.