1. 딥러닝의 개요
- 딥러닝은 인공신경망에 기반을 둔 머신러닝의 한 종류로 연속된 층에서 점진적으로 의미있는 표현을 배우는 강점이 있으며, 데이터로부터 표현을 학습시키는 새로운 방식
- 인공신경망의 기본요소는 다른 머신러닝 알고리즘이 발전되어서 만들어진 것인데, 머신러닝이 정형 데이터에 적합한데 비해 딥러닝에 잘 맞는 데이터는 비정형 데이터이다.
- 인공신경망의 한계를 극복하기 위해 심층 신경망(DNN), 합성곱 신경망(CNN), 순환 신경망(RNN), 생성적 적대 신경망(GAN), RBM, DBN등의 기법이 제안되었다.
2. ANN
- 개요
- 인간 뇌의 피질 영역내에는 수많은 뉴런들이 시냅스로 층층이 연결되어 존재하는데, 그것을 신경망이라 부른다.
- 인공신경망은 인간 뇌의 신경망에 착인해 구현된 컴퓨팅 시스템의 총칭으로, 주로 소프트웨어로 구현된다.
- ANN의 연구
- 1943년 매컬럭과 피츠: 인간의 뇌를 수많은 신경세포가 연결된 하나의 디지털 네트워크 모형으로 간주, 신경세포의 신호처리 과정을 모형화하여 단순 패턴분류 모형을 개발
- 헵: 신경세포 사이의 연결강도를 조정하여 학습규칙 개발
- 로젠블럿: 퍼셉트론이라는 인공세포 개발
- 비선형성의 한계점 발생: XOR 문제를 풀지 못하는 한계 발견
- 홉필드, 러멜하트, 맥클랜드: 역전파알고리즘을 활용하여 비선형성을 극복한 다계층 퍼셉트론으로 새로운 인공신경망 모형을 만듦
- ANN의 구조
- 입력층, 은닉층, 출력층으로 구성되어 있으며 입력층과 출력층 사이에 은닉충이 하나인 경우를 단층신경망, 여러 개인 경우를 다층신경망이라한다.
- 은닉층이 여러개일 때는 각 층 마다 여러 개의 뉴런들로 구성되어 있고, 또 각 층에 있는 뉴런들은 전, 후 층의 뉴런들과 연결되어 있다.(같은 층끼리는 연결되지 않음)
- 인공신경망에서 뉴런(노드)은 기본적인 정보처리 단위, 여러개의 뉴런이 가중된 링크로 연결된 형태. 각 링크에는 가중치가 있고 이는 인간의 시냅스에 해당
- 가중치는 한 층의 뉴런들이 다른 층의 뉴런들과 연결될 대 그 연결 강도를 결정
- 최소 가중치는 랜덤 값으로 설정되기 때문에 이 상태에서 어떤 값을 입력해도 원하는 값이출력되지 않음
3. 뉴런의 계산
- 뉴런은 전이함수, 즉 활성화 함수를 사용하며, 활성화 함수를 이용해 출력을 결정하며 입력신호의 가중치 합을 계산하여임계값과 비교한다.
- 가중치 합이 임계값보다 작으면 뉼너의 출력은 -1, 크거나 같으면 +1을출력
- 뉴런의 활성화 함수로는 시그모이드 함수, softmax함수, ReLU함수, Leaky Relu함수, 하이퍼볼릭 탄젠트 함수 등이 사용
4. 단일 뉴런의 학습(단층 퍼셉트론)
- 퍼셉트론은 선형 결합기와 하드 리미터로 구성, 초평면은 n차원 공간의 두 개의 영역으로 나뉜다
5. 신경망 모형 구축시 고려사항
가. 입력 변수
- 신경망 모형은 그 복잡성으로 인해 입력 자료의 선택에 매우 민감
- 입력변수가 범주형 또는 연속형 변수일 때 아래의 조건이 신경망 모형에 적합
- 범주형 변수: 모든 범주에서 일정 빈도 이상의 값을 갖고 각 범주의 빈도가 일정할 때 사용.(가변수화)
- 연속형 변수: 입력변수 값들의 범위가 변수간 큰 차이가 없을 때(변환, 범주화)
나. 가중치의 초기값과 다중 최소값 문제
- 역전파 알고리즘은 초기값에 따라 결과가 많이 달라지므로 초기값의 선택은 매우 중요한 문제
- 가중치가 0이면 시그모이드 함수는 선형이 되고 신경망 모형은 근사적으로 선형 모형이 됨
- 초기 모형은 선형 모형에 가깝고, 가중치값이 증가할수록 비선형 모형이 됨
다. 학습 모드
- 온라인 학습모드, 확률적 학습모드, 배치 학습모드
라. 은닉층과 은닉노드의 수
- 신경망을 적용할 대 가장 중요한 부분이 모형의 선택(은닉층의 수와 은닉노드의 수 결정)
- 인늑층과 은닉노드가 많으면 과대적합, 적으면 과소적합 발생
- 은닉노드의 수는 적절히 큰 값으로 놓고 가중치를 감소 시키며 적용
마. 과대적합 문제
- 신경망에서는 많은 가중치를 추정해야 하므로 과대적합 문제가 빈번
- 알고리즘의 초기종료와 가중치 감소 기법으로 해결 가능
- 모형이 적합하는 과정에서 검증오차가 증가하기 시작하면 반복을 중지하는 조기종료 시행
- 선형모형의 능형회귀와 유사한 가중치 감소라는 벌점화 기법 활용
바. 경사감소소멸의 문제
- 신경망의 층수가 늘어나면서 앞쪽에 있는 은닉충들의 가중치가 제대로 훈련되지 않음
- 이러한 한계들을 극복하기 위해 DBN, SAE, CNN 등 딥러닝 알고리즘들이 인공신경망을 기반으로 탄생
6. 심층 신경망(DNN)
- DNN의 개요
- 입력층과 출력층 사이에 다중의 은닉층을 포함하는 인공신경망(ANN)을 의미
- DNN의 특징
- 심층신경망은 다중의 은닉충을 가지고 있어 데이터의 잠재적인 구조 파악이 가능, 비선형적 관계를 학습 할 수 있음
- 수 많은 연산이 필요하고, 과한 학습으로 실데 데이터에 오히려 오차가 증가하는 과적합 혹은 시간 복잡도 등의 문제가 발생할 수 있음. 이를 해결하기 위해 드롭아웃, ReLU, 배치 정규화 등이 기법 적용
- 알고리즘에 따른 심층신경망의 종류로는 이미지를 처리하는 CNN, 시계열 데이터를 처리하는 RNN, 비지도형 기계학습을 기반으로 하는 DBN, 심층 오토인코더 등이 있음
7. 합성곱 신경망(CNN)
- CNN의 개요
- 사람의 시각인지 과정을 모방해 인공신경망에 필터링 기법을 적용한 것. 이미지와 같은 2차언 데이터를 분석함
- 필터링을 통해 입력된 이미로부터 특징을 추출한 뒤, 분류 작업을 수행
- CNN 알고리즘
- 특징을 추출하는 합성곱 레이어와 추출된 특징 데이터의 사이즈를 줄이고 노이즈를 상쇄시키는 풀링레이어로 구성
- 합성곱 과정
- 이미지 데이터가 입력되었을 때 특징을 뽑아내는 과정에 해당
- 합성곱 층의 뉴런은 수용 영역 안에 있는 픽셀에만 연결되며, 수용 영역의 용량만큼 필터가 존재
- 필터는 합성곱층에서 가중치 파라미터에 해당하며, 학습단계에서 적절한 필터를 찾도록 학습됨
- 합성곱 연산을 적용하면 입력 데이터보다 작은 크기의 특성 맵이 출력되며, 이 과정을 반복하면 데이터의 크기가 작아지고 정보 손실이 발생할 수 있어 이미지의 가장자리를 특정 값으로 감싸는 패딩과정을 수행
- 풀링 과정
- 합성곱 연산 이후에 풀링이라고 불리는 과정을 통해 활성화된 특성 지조들이 크기를 줄임. 이 특성 지도들에 다시 컨볼루션, 활성화, 서브 샘플링을 수행해 점차적으로 로컬한 특성 지도로부터 글로벌한 특성 지도를 만듦
- 이 과정을 반복하여 얻얻진 최종 특성지도는 인공신경망에 입력되어 이미지가 어떤 클래스 라벨에 속하는지 분류
8. 순환 신경망(RNN)
- RNN의 개요
- 시계열 데이터를 처리하기 위한 모델로 순차적이며 반복적인 데이터를 학습하는데 특화된 알고리즘
- 내부가 순환구조로 이루어짐. 즉, 입력층, 은닉층, 출력층의 3단계 구조이나 가장 큰 특징은 은닉층이 이전 데이터를 참조하도록 서로 연결되어 있다는 것
- 과거 학습 내용을 현재의 학습에 반영. 또한 신경망 내부에 상태를 저장해 시퀸스 형태의 데이터 입력을 처리하여 앞으로의 데이터를 예측
- RNN의 특징
- 보통 음성인식이나텍스트 앞 뒤 단어를 파악하는 분석같이 과거 데이터를 고려해 현재 입력 데이터를 순차 처리하는 분석에 주로 사용.(자동 번역, 단어 의미 판단, 이미지 캡션 생성 등)
- 선형 함수가 아닌 비선형 함수를 활성함수로 쓰는 것과 비슷한 이유로 초기값에 따라서 과거 데이터를 계속곱하수록 작아지는 문제 발생. 이를 해결하기 위해 LSTM방식의 순환신경망 사용
- LSTM: RNN의 장기 의존성 문제를 보완하는 딥러닝 프레임워크
'빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사 필기] 4-2 분석결과 해석 및 활용 (0) | 2024.08.18 |
---|---|
[빅데이터분석기사 필기] 3-5 비정형 데이터 분석기법 (0) | 2024.08.17 |
[빅데이터분석기사 필기] 3-3 정형 데이터 분석기법 (0) | 2024.08.16 |
[빅데이터분석기사 필기] 3-2 통계 분석기법 (0) | 2024.08.16 |
[빅데이터분석기사 필기] 3-1 분석 모형 설계 (0) | 2024.08.15 |