Machine Learning

2022. 6. 14. 12:14카테고리 없음

출처: deep-learning-with-pytorch/

 

배치사이즈만큼의 인풋(행렬) 입력, 신경망처리(행열연산) 후 실제값과 비교하여 최저loss를 찾기 위해 경사하강법을 이용하여 미분값 기울기0값을 찾기 위해 가중치를 임의의 값으로 이동하는 학습률이 너무 크면 최저loss값을 뛰어넘어 값이 불안정하고 너무 작으면 최저loss에 도달하기까지 오래 걸리므로 적절한 변동값을 적용 

이러한 백워딩방식으로 가중치조정하여 조정된 가중치로 다음배치 실행,이 때 반복수가 에폭.

 

출처: deep-learning-with-pytorch/

 

(인풋32+2패드x2양사이드-5마지막 필터제외)/1+1마지막필터=32

32*32*10(패러미터)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제 및 요구사항정의

 

top down

- 목표(도입 후 예상/희망 성과,품질,...) 

>목표에 맞는 시스템

>                     시스템 필요 데이터(raw데이터 생성맥락,의미파악, 정제과정 설정)

->                                이하 데이터관련 모델,프로세스 (신경망 모델선정, loss function,최적화 방식선정)

                                               .....>>>>.....상기의 것을 위해 다시 필요한 것들(배치,러닝,에폭 파라미터 조정)

 

 

데이터 전처리

-정규화,로그화

-인코딩(범주형>코드)

-결측치,이상치 발견

클래스불균형(정상과 비정상의 모수차), 데이터 증감(유사한 다른 이미지 생성)

 

아노테이션(라벨링)

- classification, object detection, instance segmentation

 

 

모델 구축,학습,최적화

 

배포,개선

 

 

 

 

cnn-데이터(정해진 답)을 주어 학습시키는 신경망

 

image classification - 이미지가 어느 그룹에 속하는 지 분류

object detection - 이미지 내에서 학습시킨 개체를 찾아 사각테두리 표시

sementic segmentation - 이미지 내에서 학습시킨 개체를 덩어리윤곽선으로 묵음

instancesegmentation - 이미지 내에서 학습시킨 개체를 각 개체별로 윤곽선으로 묵음

 

 

데이터셋 분류-과적합overfit(너무 많은 훈련데이터 학습으로 복잡해서 일반화되지 않는 경우) 방지 확인 

Train셋(훈련),Validation셋(훈련결과의 중간검증을 위한 다른 데이터),Test셋(훈련,검증 후 실제발생데이터로 최종확인)

 

batchSize-전체 트레인셋을 나눠서 실행할  한 단위 eg)1600 트레인셋/16배치사이즈=100회 시행

(클수록 안정, 데이터처리구조상 늘리는 한계 존재)

 

epoch- 상기 전체 트레인셋을 한번 완료하고 반복할 횟수 (적정 반복수 찾기)

 

learning rate-검증률(최저로스)을 높이기 위해 변화를 줄 때 변화 간격

(작음-안정적 개선,느림

큼-빠름,불안정-정확도에 증감&최저로스를 지나침)

 

Loss&accuancy- 동일개념 다른 관점

중간검증때는 로스기준-최저로스eg)잔차제곱합 찾기가 목표

최종test는 정확성기준-학습결과가 얼마나 정확한가 

 

Gradient descent -로스/가중치w의  미분값, 최저로스의 가중치w 찾기

 

stocastic Gradient descent-랜덤데이터 하나씩 추출해 계산 

mini-batch Gradient descent 적당한 샘플(16~)

 

 

 

재현율 recall-실제 유증상∩예상 유증상(=맞춘 유증상)/실제 유증상

정밀도precision - 실제 유증상∩예상 유증상/(모델을 통해)예상한 유증상

1종오류- 실제 H0(귀무가설)=True를 못 맞춤 (False로 예상)

2종오류-실제 H0(귀무가설)=False를 못 맞춤  (True로 예상)

 

데이터 백터화: 신경망내 모든 입출력데이터(텍스트,이미지,...)를

부동소수,정수 데이터구조인 텐서로 사전에 전환하는 과정

(0차원텐서-스칼라,1차원텐서-백터,2차원텐서-행렬,...)

 

 

피쳐-데이터 직관적 특성 >>>속성(명확한 구분을 위한 데이터값)

 

지도학습

이 있는 샘플데이터를(분류-라벨링, 박스영역, 객체구분 다각형) 학습하여 모집단에 가깝게 정확도 숙련- 오버핏 유의

 

비지도학습

답이 주어지지 않은 상태에서 유사한 패턴의 데이터끼리 클러스터링하여 보다 적합한 군을 예측, feature를 찾아내기 위한 전처리 방법으로도 활용

 

강화학습

에이전트에게 주어진 환경하에서 가능한 행동을 주고 결과에 대한 보상(즉각적인 보상보다 최종보상고려) 

 

적대적 생성 신경망

- 두가지 경쟁신경망을 경쟁(위조-탐지 경쟁 )시켜 정확성을 끌어올림 

 

 

전이학습 -특정 환경에서 만들어진 AI 알고리즘을 다른 비슷한 분야에 적용하는 것 (이미 갖춰진 지식,알고리즘 활용)

 

커리큘럼 학습- 쉬운 난이도부터 시작하여 높은 난이도 학습

 

모멘텀

러닝메이트의 조절, 초기에는 높게 주어 큰 간격으로 이동하고

러닝메이트를 낮추어 작은 간격으로 이동해 최저로스를 지나치는 경우를 방지

 

레귤러제이션(오버핏방지)

가중치 weight값 억제 

 

드랍아웃(오버핏방지)

 연산의 몇몇 뉴런들을 누락(drop out) 시킨다는 개념 

모델의 압축적인 표현, 앙상블과 유사효과(여러 네트워크 사용한 평균화, 편향저하 )

 

큐레이터

머신러닝 시스템을 개선을 위한 데이터 큐레이션 우선순위 결정에 필요한 정보관리( 모델결과 오류 검수 후 아노테이션으로 활용)

 

 

 

 

신경망

-데이터 입출력 자판기(인풋을 주면 어떤 식으로든 답(모델)을 주고 파라미터/가중치 (weight)조정,비선형함수(신경망,선형은 활용가치없음)으로 원하는 형태의 모델로 조정)

 

 

 

 

리드타임 lead time

주문일시와 인도일시 사이에 경과된 시간

 

쓰루풋 throughput

컴퓨터의 시스템처리능력으로 단위시간당 업무처리량

 

A/B테스트

기존테스트와 신규테스트의 성능/결과를 비교하기 위한 방법

결과와 바뀐 환경차이의 연관성을 파악하기 위해 다른 조건을 동일하게 맞춘 후

실험환경/기존환경군을 랜덤하게 배정하여  결과차이를 비교하여 신규서비스의 효과를 확인

 

 

파이프라인

한 데이터 처리 단계의 데이터출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조

이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다

 

 

 

활성함수 Activation Function

 입력값이 가중치적용 및 편향치 적용을 거친 후 인공 신경망에서 입력을 변환하는 비선형함수(선형은 활용가치가 떨어짐)

ReLU, 시그모이드 함수, 쌍곡탄젠트 함수 등이 대표적인 활성함수

 

가중치 Weight

처음 들어오는 데이터(입력층)에서 다음 노드로 넘어갈때 데이터를 각기 다른 비중으로 다음 은닉층(hidden layers)으로 전달시키기 위해 웨이트(weight)부여하여 입력값과 다른 값을 보냄

 

bias(편향)과 분산

편향-모평균과 샘플평균의 차이

분산-각 샘플 데이터값 끼리의 차이(퍼진 정도)

 

Loss function손실함수

실제값과 예상치의 차이를 구한 함수 ,최저loss을 구하기 위해 변화(learing rate)를 줌

 

 

합성곱

1,0필터를 곱해서 총합을 출력

 

풀링

계산량을 줄이기 위한 압축max pooling)최대값으로 압축해 출력

가중치 사용안함

 

스트라이드

-필터가 한번 움직일때 이동하는 간격 

 

패드

-이미지 축소를 막기위한 임시외곽 부분