AI Tech Day 6 (DL 역사, MLP, Matplotlib)
1. 오늘 일정
1) 학습
2) 피어세션
2. 학습 내용
Deep Learning Basic
1강: Historical Review
What make you a good deep learner?
- Implementation Skills (Tensor Flor, Pytorch)
 
- Math Skills (Linear Algebra, Probability)
 
- Knowing a lot of recent Paper
 
Introduction
- 
AI, ML, DL의 차이?

 
- 
딥러닝에서 중요 포인트
- 데이터
 
- 모델
 
- 손실 함수
 
- 알고리즘 (loss를 최소하기 위해서 파라미터를 조정하는..like SGD, ADAM 등)
 
 
Data
- 데이터는 풀어야할 문제의 유형에 의존한다.

 
Model
- 같은 데이터가 주어져도 모델에 따라 결과가 다르다.

 
Loss
- 모델을 어떻게 학습할지? parameter를 어떻게 업데이트 할지?
 
- Reression: 
 
- Classification: 
 
- Probabilistic:   = (MSE)
 
Optimization

Historical Review
2012 - AlexNet
- 딥러닝이 실제로 성능을 발휘

 
2013 - DQN
- 강화학습

 
2014 - Endocer / Decoder
- 기계어 번역의 트렌드 변화

 
2014 - Adam Optimizer

2015 - GAN(Generative Adversarial Network)

2015 - Residual Networks
- 네트워크를 어느정도 깊게 쌓을 수 있음을 증명

 
2017 - Transformer

2018 - BERT
- 위키피디아 같은 다수의 데이터로 Pre-training 후 소수의 데이터로 Fine-Tuning

 
2019 - BIG Language Models

2020 - Self Supervised Learning

2강: 뉴럴 네트워크 - MLP (Multi-Layer Perceptron)
신경망(Neural Networks)
- 신경망은 동물의 뇌를 구성하는 생물학적 신경망에서 막연하게 영감을 받은 컴퓨팅 시스템이다. (비행기를 생각하면 쉬움)
 
- 신경망은 affine transformations(행렬 곱)과 비선형 연산이 반복적으로 일어나는 함수를 근사하는 모델이다.
 
Linear Neural Networks
AI, ML, DL의 차이?

딥러닝에서 중요 포인트
- 데이터
 - 모델
 - 손실 함수
 - 알고리즘 (loss를 최소하기 위해서 파라미터를 조정하는..like SGD, ADAM 등)
 
Data
- 데이터는 풀어야할 문제의 유형에 의존한다.

 
Model
- 같은 데이터가 주어져도 모델에 따라 결과가 다르다.

 
Loss
- 모델을 어떻게 학습할지? parameter를 어떻게 업데이트 할지?
 - Reression:
 - Classification:
 - Probabilistic: = (MSE)
 
Optimization

2012 - AlexNet
- 딥러닝이 실제로 성능을 발휘

 
2013 - DQN
- 강화학습

 
2014 - Endocer / Decoder
- 기계어 번역의 트렌드 변화

 
2014 - Adam Optimizer

2015 - GAN(Generative Adversarial Network)

2015 - Residual Networks
- 네트워크를 어느정도 깊게 쌓을 수 있음을 증명

 
2017 - Transformer

2018 - BERT
- 위키피디아 같은 다수의 데이터로 Pre-training 후 소수의 데이터로 Fine-Tuning

 
2019 - BIG Language Models

2020 - Self Supervised Learning


- Data:
 - Model:
 - Loss:
 

- 적절한 Stepsize를 잡는게 중요하다!
 - 물론, 우리는 다수의 행렬 인풋, 아웃풋을 다룰 수 있다.
- stack을 더 쌓는다면?
 - 표현력을 극대화하기 위해 활성화함수 추가
 
 - 활성화 함수

 
MLP (Multi-Layer Perceptron)

Data Viz
1-1강: Welcome to Visualization(OT)
데이터 시각화란?
데이터 시각화란 데이터를 그래픽 요소로 매핑하여 시각적으로 표현하는 것
- 시각화는 다양한 요소가 포함된 Task
- 목적: 왜 시각화 하는가?
 - 독자: 시각화 결과는 누구를 대상으로 하는가?
 - 데이터: 어떤 데이터를 시각화하는가?
 - 스토리: 어떤 흐름으로 인사이트를 전달할 것인가?
 - 방법: 전달하고자 하는 내용에 맞게 효과적인 방법을 사용하는가?
 - 디자인: UI에서 만족스러운 디자인을 가지고 있는가?
 
 
1-2강: 시각화의 요소
1) 데이터 이해하기
- 데이터 시각화를 위해서는 데이터가 우선적으로 필요
 - 시각화를 진행할 데이터
- 데이터셋 관점 (global)
 - 개별 데이터의 관점 (local)
 
 - 데이터들이 있는지, 어떤 내용을 전달할 수 있을지 살펴봅시다.
 
데이터셋의 종류 1
- 정형 데이터
 
- 테이블 형태로 제공되는 데이터, 일반적으로 csv, tsv 파일로 제공
 - row가 데이터 1개 item
 - column은 attribute(feature)
 - 가장 쉽게 시각화할 수 있는 데이터셋
 - 시계열 데이터
 
- 시간 흐름에 따른 데이터
 - 기온, 주가 등 정형데이터와 음성, 비디오와 같은 비정형 데이터 존재
 - 시간 흐름에 따른 추세(Trend), 계절성(Seasonality), 주기성(Cycle) 등을 살핌
 - 지리 데이터
 
- 지도 정보와 보고자 하는 정보 간의 조화가 중요
 - 관계형(네트워크) 데이터
 
- 객체와 객체 간의 관계를 시각화
 - 계층적 데이터
 
- 관계 중에서도 포함관계가 분명한 데이터
 - 다양한 비정형 데이터
 
데이터셋의 종류 2
- 수치형 (numerical)
 
- 연속형 (continuous): 길이, 무게, 온도 등
 - 이산형 (discrete): 주사위 눈금, 사람 수 등
 - 범주형 (categorical)
 
- 명목형 (norminal): 혈액형, 종교 등
 - 순서형 (ordinal): 학년, 별점, 등급 등
 
마크와 채널
- 마크: 이미지에서 기본적인 graphical 요소 (점, 선, 면)
 
- 채널: 각 마크를 변경할 수 있는 요소들
 
전주의적 속성
- Pre-attentive Attribute
 - 주의를 주지 않아도 인지하게 되는 요소
- 시각적으로 다양한 전주의적 속성이 존재
 
 - 동시에 사용하면 인지하기 어려움
- 적절하게 사용할 때, 시각적 분리(visual popout)

 
 - 적절하게 사용할 때, 시각적 분리(visual popout)
 
1-3강: Python과 Matplotlib
Matplotlib를 쓰는 이유?
- Matplotlib는 Python에서 사용할 수 있는 시각화 라이브러리
 - 현재 사용되고 있는 다양한 데이터 분석 및 머신러닝/딥러닝은 Python에서 이뤄지고 있음
 - numpy와 scipy를 베이스로 하여 다양한 라이브러리와 호환성이 좋음
- Scikit-Learn, PyTorch, Tensorflow
 - Pandas
 
 - 다양한 시각화 방법론 제공
- 막대그래프
 - 선그래프
 - 산점도
 - ETC
 
 
import
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
기본 Plot
# 기본 틀
fig = plt.figure()
plt.show()
# 서브 플롯 추가
flg = plt.figure()
ax = fig.add_subplot()
plt.show()
# figure사이즈 조절
flg = plt.figure(figsize=(12, 7))
ax = fig.add_subplot()
plt.show()
# 여러개 그리기
fig = plt.figure()
ax = fig.add_subplot(121)
ax = fig.add_subplot(122)
plt.show()
기본 예제
fig = plt.figure()
ax = fig.add_subplot()
x = [1, 2, 3]
plt.plot(x)
plt.show()
# 서브플롯 객체에 그리기
fig = plt.figure()
x1 = [1, 2, 3]
x2 = [3, 2, 1]
ax1 = fig.add_subplot(211) 
ax2 = fig.add_subplot(212) 
ax1.plot(x1) 
ax2.plot(x2)
plt.show()
# 한 서브플롯에 여러 개 그리기
fig = plt.figure()
ax = fig.add_subplot(111) 
# 3개의 그래프 동시에 그리기
ax.plot([1, 1, 1]) # 파랑
ax.plot([1, 2, 3]) # 주황
ax.plot([3, 3, 3]) # 초록
plt.show()
# 다른 종류 그래프 그리기
fig = plt.figure()
ax = fig.add_subplot(111) 
# 선그래프와 막대그래프 동시에 그리기 (색 명시해주어야 한다.)
ax.plot([1, 2, 3], [1, 2, 3]) 
ax.bar([1, 2, 3], [1, 2, 3]) 
plt.show()
색상 지정하기
fig = plt.figure()
ax = fig.add_subplot(111) 
# 3개의 그래프 동시에 그리기
ax.plot([1, 1, 1], color='r') # 한 글자로 정하는 색상
ax.plot([2, 2, 2], color='forestgreen') # color name
ax.plot([3, 3, 3], color='#000000') # hex code (BLACK)
plt.show()
텍스트 사용하기
fig = plt.figure()
ax = fig.add_subplot(111) 
ax.plot([1, 1, 1], label='1') 
ax.plot([2, 2, 2], label='2') 
ax.plot([3, 3, 3], label='3')
ax.set_title('Basic Plot')
ax.legend()
plt.show()
fig = plt.figure()
ax1 = fig.add_subplot(1, 2, 1)
ax2 = fig.add_subplot(1, 2, 2)
ax1.set_title('ax1')
ax2.set_title('ax2')
fig.suptitle('fig') # super
plt.show()
축 사용하기
fig = plt.figure()
ax = fig.add_subplot(111) 
ax.plot([1, 1, 1], label='1') 
ax.plot([2, 2, 2], label='2') 
ax.plot([3, 3, 3], label='3')
ax.set_title('Basic Plot')
ax.set_xticks([0, 1, 2])
ax.legend()
plt.show()
텍스트 추가하기
ax.text(x=1, y=2, s='This is Text')
ax.annotate(text='This is Annotate', xy=(1, 2),
           xytext=(1.2, 2.2), 
            arrowprops=dict(facecolor='black'),
           )
3. 피어 세션 정리
- 오늘 강의 (DL) 요약
 
- 지난주 선택과제 리뷰
 
- 앞으로 멘토링 등 어떻게 할지?
 
4. 과제 수행 과정
- 강의 내용과 같았음
 
5. 회고
- 오늘부터는 조금 널널했음
 
- 딥러닝 제대로 하기 시작하니 재밌다
 
- 새로운 한 주이다 화이팅!
 
6. 내일 할일
- 시각화 마무리
 
- optimizer 강의
 
- 필수 과제
 
- 수학 스터디 대비
 
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Author And Source
                            
                            이 문제에 관하여(AI Tech Day 6 (DL 역사, MLP, Matplotlib)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@f2f42012/AI-Tech-Day-6
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
- 강의 내용과 같았음
 
5. 회고
- 오늘부터는 조금 널널했음
 
- 딥러닝 제대로 하기 시작하니 재밌다
 
- 새로운 한 주이다 화이팅!
 
6. 내일 할일
- 시각화 마무리
 
- optimizer 강의
 
- 필수 과제
 
- 수학 스터디 대비
 
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Author And Source
                            
                            이 문제에 관하여(AI Tech Day 6 (DL 역사, MLP, Matplotlib)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@f2f42012/AI-Tech-Day-6
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
- 시각화 마무리
 - optimizer 강의
 - 필수 과제
 - 수학 스터디 대비
 
Author And Source
이 문제에 관하여(AI Tech Day 6 (DL 역사, MLP, Matplotlib)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@f2f42012/AI-Tech-Day-6저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            


