한주한주가 지나가면서 노드들의 수준이 점점 올라가고 있다.
아직은 따라가기 벅찬느낌이지만 그래도 꾸역꾸역 하고있다.
노드를 진행할때는 머릿속에 스치듯이 지나가는 것 같아서
이렇게 글쓰기시간에 그나마 머릿속에 정리하는 기분이 든다.
이번주에도 차근차근 정리해보려한다.
[9주차 정리]
1. Fundametals Node
◈ 딥러닝 들여다보기
딥러닝 문제 구성에 대한 기본적인 이해를 높이고 직접 구현해본다.
- 정리
신경망(Neural Network)이란?
-우리 뇌에는 1000억 개에 가까운 신경계 뉴런들이 있다.
-이러한 신경계 뉴런을 본따 퍼셉트론(Perceptron)이라는 형태를 제안.
-이를 연결한 형태를 인공신경망(Artificial Neural Network)라고 명명.
다층 퍼셉트론(Multi-Layer Perceptron; MLP)이란?
- Fully-Connected Neural Network라고도 불린다.
- 아래의 그림과 같이 입력층, 은닉층, 출력층 형태로 되어있다.
- 아래의 그림과 같이 레이어 층이 2개 이상인 경우 다층 퍼셉트론이라 한다.
- 우리가 흔히 말하는 딥러닝 모델 또는 DNN(Deep Neural Network)는 은닉층을 더 많이 쌓은 MLP이다.
활성화 함수란(Activation Functions)?
- 보통 비선형 함수를 사용.
- 활성화 함수를 포함시키면 모델의 표현력이 좋아지게됨.
- 비선형함수를 사용하지않으면 선형모델과 다를바 없음.
- Sigmoid, Tanh, ReLU 등이 이에 포함된다.
Sigmoid 함수
- Gradient Vanishing 현상이 발생한다.
- exp 함수 사용 시 비용이 크다.
Tanh 함수
- tanh 함수는 함수의 중심값을 0으로 옮겨 sigmoid의 최적화 과정이 느려지는 문제를 해결.
- gradient vanishing 문제 여전히 존재.
ReLU 함수
- Sigmoid, Tanh 함수와 비교 시 학습 빠름.
- 연산 비용이 크지 않고, 구현이 매우 간단하다.
손실함수란?(Loss Functions)
- 정답(Label)과 출력층에서 나온 값들 사이의 차이를 계산하는데 사용하는 함수
- 평균제곱오차(Mean Square Error ;MSE)와 교차 엔트로피(Cross Entropy)등이 있다.
◈ 파이썬으로 이미지 파일 다루기
Pillow와 OpenCV를 활용하는 방법에 대해 배운다.
- 정리
.open()
# pillow 라이브러리 불러오기
from PIL import Image
# Image.open(이미지경로)로 img변수에 파일 담기
img = Image.open(image_path)
# img 출력
img.show()
.resize()
# img.resize((가로, 세로))
resized_image = img.resize((100,200))
# 해당 이미지 출력
resized_image.show()
.crop()
# 잘라낼 영역의 좌표
box = (300, 100, 600, 400)
# 좌표 영역만큼 그림 잘라내기
region = img.crop(box)
# 해당 이미지 출력
region.show()
◈ SQL을 이용해 DB와 대화해보자
기본적인 SQL문에 대하여 공부해본다
- 정리
쿼리의 기본 구조
- SELECT ~ : 조회할 컬럼명을 선택
- FROM ~ : 조회할 테이블명을 지정 (위치와 테이블명을 입력)
- WHERE ~ : 질의할 때 필요한 조건을 설정
- ORDER BY ~ : SELECT 다음에 오는 컬럼 중 정렬이 필요한 부분을 정렬 (기본 설정 : 오름차순)
- GROUP BY ~ : 특정 컬럼을 기준으로 그룹을 지어 출력
- LIMIT 숫자 : Display하고자 하는 행의 수를 설정
2. Exploration Node
◈ 어제 오른 내주식, 과연 내일은?
인공지능을 배우는 사람이라면 한번쯤은 꼭 만들어본다는 주식봇!
그 기초가되는 주식값 예측 모델을 만들어보는 노드였다.
주식의 값이 시계열 데이터라는 부분을 활용하여 학습하고 예측하는 모델이었다.
아직 제대로 활용하기에는 너무나 먼 모델이지만
이러한 모델들이 쌓이고 쌓여서 높은 정확도로 예측이 가능한 모델을 만든다면
좋은 아이템이 될 수 있다고 판단한다.
Stock Prediction project github (차후 링크예정)
◈ 폐렴아 기다려라!
이 노드는 예전에 했던 MNIST data를 활용하여 모델을 만드는 노드랑 비슷한 느낌이었다.
적당히 난이도는 있으나 엄청 고민해야할 만큼의 난이도는 아니었다.
그래도 어떤 하이퍼파라미터를 조절하여 정확도를 높일까를 고민하는건
언제나처럼 재미있는 부분이었다.
아직 제대로 완성이 되어있지는 않지만, 찬찬히 확인해봐야겠다.
Chest X-ray project github (차후 링크예정)
3. 알고리즘
◈ 9주차
이번주에 풀이했던 부분은 11장 해쉬테이블이였다.
예전에 큐, 데크, 스택의 개념을 처음들었을때랑 비슷한 느낌이었다.
개념이 살짝 이해가 안되서 고민하게되는 느낌이랄까.
그래도 이전에는 답지를 봐도 이해가 어려웠던것에 반해
시각화를 통해 생각보다 빠르게 이해가 가능했다.
이걸 발전이라고 해야할지, 꼼수가 늘었다고 해야할지는 모르겠지만
그래도 풀이하는동안 스트레스 받지않고 즐겁게 고민해볼 수 있었다.
4. DeepML(CS231n)
◈ 9주차 (Lecture 10 : Training neural networks, part I) :
이번주에 배운 부분들은 좀더 공부를 통해 정리하도록 하겠다.
'[SSAC X AIFFEL]' 카테고리의 다른 글
[8주차]SSAC X AIFFEL (02.15~02.19) (0) | 2021.02.19 |
---|---|
[6주차]SSAC X AIFFEL (02.01~02.05) (0) | 2021.02.06 |
[5주차]SSAC X AIFFEL (01.25~01.29) (0) | 2021.01.29 |
[4주차]SSAC X AIFFEL (01.18~01.22) (0) | 2021.01.22 |
[3주차]SSAC X AIFFEL (01.11~01.15) (1) | 2021.01.15 |