와아 딥러닝 너무너무어렵다.
머신러닝과 같은 느낌으로 이 순서대로 코드를 입력하면 됩니다 여러분~ 느낌이긴 했는데 이제 코드가 5배인...
딥러닝 수업에서는 연결주의 알고리즘인 tensorflow에 대해 배웠다. 인간의 신경처럼 서로 연결된 신경망인 인공신경망을 이용했기 때문에 연결주의 알고리즘이라고 부른다고 한다.
참고)
연결주의에 대해 찾아보다가 재밌어보이는 블로그를 발견했다! chatgpt, dall-e 등의 인공지능 프로그램이 소개되어있다~
👉 https://blog.naver.com/1strider
텐서플로우 중에서도 가장 많이 사용한다는 keras 라이브러리를 배웠다.
keras는 다음과 같이 나뉜다. 둘은 코딩 방식의 차이가 있다!
: 차곡차곡 레이어를 쌓는 방식
📍모델링 순서
세션 클리어
모델 선언 (발판 생성)
레이어 쌓기
컴파일
📍코드
회귀를 기준으로 작성하였다.
#1. 세션 클리어
keras.backend.clear_session()
#2. 모델 선언
model = keras.models.Sequential()
#3. 레이어 쌓기
model.add(keras.layers.Input(shape = (1,)))
model.add(keras.layers.Dense(1))
#4. 컴파일
model.compile(loss = 'mse', optimizer = 'adam')
: Custom 하며 설계 가능한 방식
[모델링 순서]
세션 클리어
레이어 엮기
sequential에서는 dense를 add했지만, functional api에서는 히든레이어 생성이 가능하다.
히든레이어
-레이어 수: 얼마나 고수준 feature를 추출할 것인가?
-노드 수: 추출하려는 feature 수
-연결된 것으로부터 기존에 없던 새로운 feature를 추출, 재표현
👉 Feature Representation, Feature Learning
모델의 시작과 끝 엮기
컴파일
[코드]
#1. 세션 클리어
keras.backend.clear_session()
#2. 레이어 사슬처럼 엮기
il = keras.layers.Input(shape = (1,))
hl = keras.layers.Dense(512, activation = 'relu')(il) #선택사항
ol = keras.layers.Dense(1,activation = 'linear')(il)
#3. 모델의 시작과 끝 지정
model = keras.models.Model(il,ol)
#4. 컴파일
model.compile(loss = 'mse', optimizer = 'adam')
model.compile()에 입력되는 컴파일 방식에 대해 정리하자면 다음과 같다.
Linear Regressor
Logistic Regressor
Multiclass Classification