반응형 전체 글301 [밑시딥1] CHAPTER 8 딥러닝 8.1 더 깊게 그동안 배운 기술을 집약하고 심층 신경망을 만들어서 MNIST데이터셋의 손글씨 숫자 인식에 도전해보자. 8.1.1 더 깊은 신경망으로 여기서 사용하는 합성곱 계층은 모두 3x3 크기의 작은 필터로, 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다. 가중치 초깃값으로는 He 초깃값, 파라미터 갱신에는 Adam을 사용한다. 이 신경망의 정확도는 99.38%가 된다. 8.1.2 정확도를 더 높이려면 데이터 확장(data augmentation)은 입력 이미지를 알고리즘을 통해 인위적으로 확장하는 것이다. 위와 같은 변형 외에도 crip 이나 flip등이 있다. 밝기 변화, 확대, 축소도 효과적이다. 8.1.3 깊게 하는 이유 층을 깊게 할 때의 이점으로는 신경망의 파라미터 수가 줄어든다는.. 2023. 7. 3. [밑시딥1] CHAPTER 7 합성곱 신경망(CNN) CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. 7.1 전체 구조 CNN에는 합성곱 계층(convolutional layer)과 풀링 계층(pooling layer)이 있다. 지금까지 본 신경망은 완전연결(fully-connected)이다. 이런 계층은 어파인 계층이라는 이름으로 구현했다. 위 완전연결 신경망은 Affine-ReLU 조합이 4개가 쌓였고, 마지막 5번째 층은 Affine계층에 이어 소프트맥스 계층에서 최종 결과(확률)를 출력한다. CNN에서는 합성곱 계층과 풀링 계층이 추가된다. CNN 계층은 'Conv-ReLU-(Pooling)' 흐름으로 연결된다(풀링 계층은 생략하기도 한다) 지금까지의 .. 2023. 6. 26. [밑시딥1] CHAPTER 6 학습 관련 기술들 이 장에서는 가중치 매개변수의 최적값을 탐색하는 최적화 방법, 가중치 매개변수 초기값, 하이퍼파라미터 설정 방법 등 중요한 주제를 다룬다. 오버피팅의 대응책인 가중치 감소와 드롭아웃 등 정규화 방법도 설명하고 구현해보자. 배치 정규화도 알아보자. 6.1 매개변수 갱신 신경망 학습의 목적: 손실 함수의 값을 가능한 한 낮추는 매개변수를 찾는 것 최적화: 이러한 문제를 푸는 것 SGD: 매개변수의 기울기를 구해서, 기울어진 방향으로 매개변수 값을 갱신하는 일을 반복하면서 최적의 값에 다가갔다. 6.1.1 모험가 이야기 6.1.2 확률적 경사 하강법(SGD) SGD는 수식으로 다음과 같이 나타낼 수 있었다. 파이썬 클래스로 구현해보자. 매개변수 갱신은 위 클래스가 하니, 우리는 optimizer에 매개변수와 .. 2023. 6. 21. [클린코드] 2장 의미 있는 이름 1) 들어가면서 이름을 잘 지으면 편하다. 2) 의도를 분명히 밝혀라 변수, 함수, 클래스 이름은 이름에서 존재 이유와 수행 기능, 사용방법이 드러나야 한다. 3) 그릇된 정보를 피하라 코드에 그릇된 단서를 남겨서는 안된다. list가 아닌데 list라고 이름짓거나 너무 흡사한 이름도 헷갈리니 사용 말자. 4) 의미 있게 구분하라 읽는 사람이 구별 가능하도록 의미 있게 짓자. 불용어(a, the, data, info) 금물 5) 발음하기 쉬운 이름을 사용하라 커뮤니케이션과 뇌 효율성을 위해. 6) 검색하기 쉬운 이름을 사용하라 나중에 검색하기 쉽도록 이름 작성. 그런 의미에서 긴 이름이 짧은 이름보다 좋지만, 길이는 범위 크기에 비례해야 한다.[N5] 7) 인코딩을 피하라 헝가리식 표기법(타입 표기), .. 2023. 6. 20. [클린코드] 1장 깨끗한 코드 이 책을 읽으면 좋은 코드와 나쁜 코드를 구분하는 능력과 나쁜 코드를 좋은 코드로 바꾸는 실력이 쌓이게 된다. 1) 코드가 존재하리라 앞으로 코드가 없어질 일은 없다. 코드는 요구사항을 표현하는 언어이기 때문. 2) 나쁜 코드 르블랑의 법칙(나중은 결코 오지 않는다. 나쁜 코드를 구현하면 나중은 오지 않는다.) 3) 나쁜 코드로 치르는 대가 나쁜코드가 쌓일수록 팀 생산성은 떨어지고, 그렇다고 인력을 추가하면 새 인력은 기존 시스템을 잘 모르기 때문에 도움이 되지 않는다. 이 상태에서 인력 추가가 되기 때문에 생산성은 높여야 하는 압력이 주어지지만 생산성은 점점 0이 된다. a. 원대한 재설계의 꿈 차세대 시스템과 기존 시스템의 경주. 기존 시스템이 엉망이면 차세대를 한다고 해도 기간이 길어지고 어려워진다.. 2023. 6. 20. [밑시딥 1] CHAPTER 5 오차역전파법 오차역전파법을 제대로 이해하는 두 가지 방법 1. 수식을 통한 것 2. 계산 그래프를 통한 것 5.1 계산 그래프 5.1.1 계산 그래프로 풀다 문제 1 : 현빈 군은 슈퍼에서 1개에 100원인 사과를 2개 샀습니다. 이때 지불 금액을 구하세요. 단, 소비세가 10% 부과됩니다. 문제 2: 현빈 군은 슈퍼에서 사과를 2개, 귤을 3개 샀습니다. 사과는 1개에 100원, 귤은 1개 150원입니다. 소비세가 10%일 때 지급 금액을 구하세요. 계산 그래프를 이용한 문제 진행 흐름 1. 계산 그래프를 구성한다. 2. 그래프에서 계산을 왼쪽에서 오른쪽으로 진행한다. -> 순전파(forward propagation)라고 한다. 5.1.2 국소적 계산 국소적: '자신과 직접 관계된 작은 범위' 국소적 계산: 전체에.. 2023. 6. 18. [밑시딥 1] CHAPTER 4 신경망 학습 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것 신경망이 학습할 수 있도록 해주는 지표인 손실 함수에 대해 배운다. 4.1 데이터에서 학습한다! 데이터에서 학습한다는 것은 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 뜻이다. 4.1.1 데이터 주도 학습 '5'를 제대로 분류하는 프로그램을 직접 고안해 설계하기란 어렵다. 이미지에서 특징을 추출하고 그 특징의 패턴을 기계학습 기술로 학습시키는 방법을 사용할 수 있다. 다만 이때 그 특징은 여전히 사람이 설계해야 한다. 반면 신경망(딥러닝)을 활용하면 사람의 개입없이도 학습이 가능하다. 4.1.2 훈련 데이터와 시험 데이터 훈련 데이터(training data): 훈련데이터를 사용하여 학습하면서 최적의 매개변수(파라미터.. 2023. 6. 15. [밑시딥 1] CHAPTER 3 신경망 3.1 퍼셉트론에서 신경망으로 3.1.1 신경망의 예 가장 왼쪽줄을 입력층, 맨 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 한다. 3.1.2 퍼셉트론 학습 위 그림은 x1, x2를 입력받아 y를 출력하는 퍼셉트론이다. 이를 수식으로 나타내면 다음과 같다. 여기서 b는 편향을, w1, w2는 각 신호의 가중치를 나타내는 매개변수로, 각 신호의 영향력을 제어한다. 그런데 위 그림에서 b가 보이지 않는다. 여기에 편향을 명시한다면 아래 그림과 같이 나타낼 수 있다. 위 식을 더 간결하게 표현해보자. 3.1.3 활성화 함수의 등장 위의 h(x)함수를 활성화함수(activation function)라고 한다. 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할. 위 식을 다시 써보면 아래와 같다. 그림으로 나.. 2023. 6. 13. 이전 1 ··· 5 6 7 8 9 10 11 ··· 38 다음 반응형