목록Deep Learning (8)
My Data Story
◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 최적의 신경망 구축하기 위해 적절한 하이퍼파라미터를 선정하는 방법에 대해 살펴보자. 신경망의 유연성은 단점이기도 하다. 조정할 하이퍼파라미터가 많기 때문이다. 아주 복잡한 네트워크 구조에서 뿐만 아니라 간단한 다층 퍼셉트론에서도 층의 개수, 층마다 있는 뉴런의 개수, 각 층에서 사용하는 활성화 함수, 가중치 초기화 전략 등 많은 것을 바꿀 수 있다. 그렇다면 어떻게 어떤 하이퍼파라미터 조합이 주어진 문제에 최적인지 알 수 있을 까요? 1. GridSearchCV/R..
◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 시퀀셜 API와 함수형 API를 통해 구현한 모델을 저장하고 복원하는 방법에 대해 살펴보고 특정 시점에 원하는 조건의 모델을 저장하도록 설정하는 콜백 구현 방법에 대해 살펴보고 모델 훈련 후 모델에 대한 summary 를 시각화하여 분석할 수 있는 텐서보드 구현 방법에 대해 알아보자. 8. 신경망 하이퍼파라미터 튜닝하기 1. 모델 저장과 복원 시퀀셜 API와 함수형 API를 사용하면 훈련된 케라스 모델을 저장하는 것은 매우 쉽다. 케라스는 HDF5 포맷을 사용하여 모든 층의 하이퍼파라미터와 더불어, ..
◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 모델 구현에 유연성을 더하여 여러 가지 동적인 구조를 필요로 할 때 사용할 수 있는 서브클래싱 API 구현 방법을 살펴보자. 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 지금까지 살펴본 시퀀셜 API 와 함수형 API는 선언적이었다. 즉 사용할 층과 연결 방식을 먼저 정의한 후, 모델에 데이터를 주입하여 훈련이나 추론을 시작할 수 있다. 이 방식에는 장점이 많다. 모델을 저장하거나 복사, 공유하기 쉽다. 또 한 모델의 구조를 출력하거나 분석하기 좋다. 프레임워크가 크기를 짐작하고 타입을 확인하여 데이터가 주입..

◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 다양한 입력과 출력의 복잡한 구조를 구현할 수 있는 함수형 API 구현 방법에 대해 살펴보자. 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 Sequential 모델이 매우 널리 사용되지만, 입력과 출력이 여러 개이거나 더 복잡한 네트워크 토폴로지를 갖는 신경망을 만들어야 할 때가 있다. 이를 위해 케라스는 함수형 API를 제공한다. 1. 와이드 & 딥 신경망 와이드 & 딥 신경망은 입력의 일부가 또는 전체가 출력층에 바로 연결된다. 이 구조를 사용하면 신경망이 복잡한 패턴(깊게 쌓은 층을 활용)과 간단한 규칙..

◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 시퀀셜 API를 통해 분류용 MLP와 회귀용 MLP 구현하는 방법에 대해 살펴보자. 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 1. 시퀀셜 API를 사용하여 분류기 만들기 1.1 데이터셋 적재하기 fashion_mnist = keras.datasets.fashion_mnist (X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data() X_valid, X_train = X_train_full[:5000]/255, X_train_full..

◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 3. 케라스 API 소개 딥러닝 API 중 가장 많이 사용되는 케라스 API 에 대해 살펴보고, 텐서플로우 기반의 케라스 구현 방법을 살펴보자. 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 1. 딥러닝 API 케라스는 모든 종류의 신경망을 손쉽게 만들고 훈련, 평가, 실행할 수 있는 고수준 딥러닝 API이다. 케라스는 계산 백엔드에 의존하여 신경망에 필요한 많은 연산을 수행한다. 인기 있는 세 가지 딥러닝 라이브러리 중에서 백엔드를 선택할 수 있었다. ˙ 텐서플로 ˙ 마이크로소프트 코그니티브 툴킷(CNTK) ˙ 시애노 혼동을 피하기 ..

◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 2. 다층 퍼셉트론 다층 퍼셉트론의 구조와 활성화 함수에 대해 살펴보고, 이를 활용한 회귀 및 분류 모델을 살펴보자. 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 1. 다층 퍼셉트론 구조 다층 퍼셉트론은 입력층 하나와 은닉층이라 불리는 하나 이상의 TLU 층과 마지막 출력층으로 구성된다. 이때 은닉층을 여러 개 쌓아 올린 인공 신경망을 심층 신경망 Deep Neural Network (DNN) 이라고 한다. 2. 다층 퍼셉트론 훈련 2.1 역전파 훈련 알고리즘 다층 퍼셉트론 훈련하기 위해 역전파 훈련 알고리즘을 사용한다. 간단히..

◈ '인공 신경망' 목차 ◈ 1. 퍼셉트론 가장 간단한 인공 신경망 구조인 퍼셉트론에 대해 살펴보자. 2. 다층 퍼셉트론 3. 케라스 API 소개 4. 시퀀셜 API 구현 5. 함수형 API 구현 6. 서브클래싱 API 구현 7. 모델 저장과 복원, 콜백, 텐서보드 8. 신경망 하이퍼파라미터 튜닝하기 인공 신경망은 딥러닝의 핵심이다. 요즘 많이 사용하는 다층 퍼셉트론(MLP)을 설명하고 이어서 케라스 API를 사용하여 인공 신경망을 구현하는 방법을 알아본다. 케라스는 신경망 구축, 훈련, 평가, 실행을 목적으로 설계된 멋지고 간결한 고수준 API 이다. 1. TLU 퍼셉트론은 가장 간단한 인공 신경망 구조 중 하나로 TLU 또는 LTU라 불리는 조금 다른 형태의 인공 뉴런을 기반으로 한다. 입력과 출력이..