수업정리

 

 

 

적대적 생성 신경망

  • GAN : 예측 추론을 떠나서 생성해버림 -> 논란이 많이 생김
    • Generative Adversarial Networks의 약자로 우리말로는 “적대적 생성 신경망”
    • 서로 다른 두 개의 네트워크를 적대적으로(adversarial) 학습시키며 실제 데이터와 비슷한 데이터를 생성(generative)해내는 모델
    • 비지도 학습 기반 생성모델로 분류
  • epochs
    • 학습 횟수 
    • 학습 : 최적화
  • 머신러닝은 사람의 개입이 들어감
  • 딥러닝은 사람의 개입이 거의 안들어감
  • 알아서 해준다고 딥러닝만 사용한다는 건 적합하지 않는다
    • 상황에 따라 머신러닝 모델을 선택할 지 딥러닝 모델을 선택할지 성능을 더 잘 낼 모델을 찾아야함
  • 딥러닝
    • 컴퓨터비젼, 음성, 
    • 복잡하고 많은데이터에 유용

 

 

 


수업시작

 

 

딥러닝 실습 (신경망 모델)

 

 

모델 만들기

# 신경망 구조 설계
model = Sequential() # 딥러닝 모델을 구성하는 뼈대, 층을 쌓을 수 있게 도와줌
# input_shape(한행의 데이터의 컬럼 수,
model.add( InputLayer(input_shape=(1,)) ) # 입력층
# Dense 인공신경 망, 마지막은 1로 맞춰줘야 한다.
model.add(Dense(units=9))     # 신경 세포 망
model.add(Dense(units=9))
model.add(Dense(units=1))     # 출력층

 

 

 

데이터가 들어오는 곳

데이터의 크기 알려줘야함

다중,이진분류인지, 회귀 인지에 따라 마지막 뉴런의 units 수가 달라진다.

회귀 일때 units = 1

 

 

학습방법 및 평가 방법 설정

# 2. 신경망 모델 학습(loss, optimizer)/평가(metrics)방법 설정
model.compile( loss='mean_squared_error',
              optimizer='SGD')

 

학습 및 학습과정 시각화와 히스토리에 담아주기

# 3-1. 학습 및 학습과정 시각화 / 히스토리 생성
studentHistory = model.fit(X_train, y_train, epochs=100) # epochs : 최적회 학습 횟수

 

히스토리를 시각화

 

 

모델평가

# 4. 모델 평가
model.evaluate(X_test,y_test)

test 결과와의 loss 값 차이가 많이 벌어졌다 -> 과적합 된 듯 하다.

 

 

 

 

퍼셉트론 개념

  • 딥러닝의 근간
  • 이진 분류를 수행하는 데 사용
  • 입력과 가중치를 곱한 값들의 합이 임계값(threshold)을 초과하는 경우, 출력으로 1을 반환하고, 그렇지 않은 경우에는 0을 반환
  • 인공 신경망의 초창기 모델 중 하나
  • 단층 퍼셉트론과 다층 퍼셉트론으로 나뉘어짐
  • 단층 퍼셉트론은 선형 분리 가능한 문제에 대해서만 작동
  • 다층 퍼셉트론은 여러 개의 은닉층을 포함하며, 비선형적인 패턴을 인식하는 데 사용

 

역치

  • 어떤 값이나 수준을 기준
  • 이진 분류(Binary Classification)에서 사용되는 중요한 개념 중 하나
  • 어떤 입력값이 주어졌을 때 그 값이 역치보다 크면 1을, 작으면 0을 반환하는 함수를 만드는 데 사용
  • 분류의 성능에 매우 중요한 역할
  • 모델의 정확도를 향상시키는 데 큰 영향을 미

  • 자극이 역치 이상이 되어야 다음뉴런에게 전달이 되는 개념

 

 

  • 자극값을 다음 뉴런에게 넘길 지 말지 판단하는 활성화 함수 가 추가됨 (activation) 

  • 활성화 함수로 시그모이드 사용한 예시

 

 

  • 예측값이 활성화 함수를 만나야 다음 신경망으로 전달이 된다.
  • 예측값은 다음 뉴런층의 데이터값이 된다.

 

선형함수 모델과 활성화 함수까지 만나야 하나의 퍼셉트론이다.

선형함수 + 활성화함수 = 퍼셉트론

 

 

 

계단함수 

  • 계단함수이다.
  • 맨 처음 도입된 함수이지만 별로 좋지 않아서 지금은 쓰지 않는다

 

 

  • 영향력은 W 에 의함

 

XOR 이라는 문제가 생긴다.

 

 

둘다 True 여야 1이 나온다.

 

 

하나라도 1이면 1

 

둘다 같은 값이면 0

둘의 값이 달라야 1

 

이 문제점을 해결한 게 다층 퍼셉트론

 

 

 

 

 

 

 

 

 

유방암 데이터셋 분류 ( 이진분류 )

 

 

모델링

  • activation='sigmoid'
    • activation : 활성화 함수는 인공 신경망의 출력 값을 조정하는 함수
    • 'sigmoid' 함수는 입력 값을 0과 1 사이의 값으로 제한하는 함수
    • 이진분류 문제에서 자주 사용
  • 'validation_split = 0.2'
    • 전체 학습 데이터를 학습용 데이터와 검증용 데이터로 나누는 비율을 8:2로 설정
  •  Adam
    • RMSProp와 Momentum을 결합한 알고리즘으로, 지수 가중 이동 평균과 모멘텀을 이용하여 가중치를 업데이트

 

오차 확인

정확도 확인

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'수업 > 딥러닝' 카테고리의 다른 글

[딥러닝] 7일차 - 이미지 데이터 학습, 데이터 확장  (0) 2023.05.17
[딥러닝] 6일차 - cnn  (0) 2023.05.15
[딥러닝] 4일차 -  (0) 2023.05.10
[딥러닝] 3일차 - 다중분류 실습  (0) 2023.05.09
[딥러닝] 1일차  (0) 2023.05.02

+ Recent posts