노드수, 정확도를 개의치 않게 실습을 진행함
-> 이제는 최적화
까지 고려해보자
물건을 선택하는 기준 => 가격도 낮으면서 성능이 좋은걸 선택
가성비
를 따진다.
금요일 => CNN
자체 데이터셋을 만들어도 괜찮음
교수님께서 준비하신 테스트셋에는 엉망으로 한 글씨까지 포함할 예정임(다음주에 공개)
필요에 따라 데이터셋 추가
MNIST는 워낙 많이 알려져서 이미 써서 데이터 추가하는건 인터넷에 많이 있음
학습률, 파라미터 => optimizer
<목표>
1. 최소의 자원사용
2. 최고의 정확도
딱 200개 정도 테스트셋을 주고 정확도를 평가할 것
평가 구성
어떤 신경망, 매개변수, 어떤 최적화 방향으로 진행했는지 보고서에 작성
다음 수업인 금요일부터 20-30분 정도 시간을 줄 수 있을 듯
프로젝트 진행 일정 (13주파~15주차)
ㅇ 13주차: 프로젝트 시작 (팀별 토론)
위의 진행들이 보고서에 모두 포함되어야 함
6/15 or 6/22까지 시간을 줄 건데, 마감은 진행 상황/요청에 따라서 할 것
이제 열심히 프로젝트만 진행해줄 것
6/1은 선거날
이론적인 부분 설명이 남음(8강) => 녹강으로 대체(휴강x, 보강x)
30(팀플).30(중간).10(퀴즈).5.5(과제2번).20(출석)
팀플에 있어, 자신의 능력이 부족하다면 최소한 자기가 할 수 있는 일은 하면 됨
코드를 잘 활용하자(프로젝트)
모임 arrange, 무엇인가 잘 돌아갈 수 있게끔 하고.. 그런 자신의 역할을 잘 파악할 것
잘 화합하는지, 스스로 문제를 잘 해결하고자 하는지.. 성실한지..
평가factor들이 회사 평가와 비슷함
이때 더 중시여기는 건, 자세임
능력의 차이는 트레이닝과 노력으로 배우면 된다.
자세는 변치 않음
합성곱계층 => 다차원 데이터를 다음 계층으로 넘길 수 있음
합성곱계층-ReLU-Pooling => Affine-ReLU => Affine-Softmax 순서로 구성
가장 먼저해야할 것은 => 초깃값 설정
클래스에 있어 생성자 만들기
초기화 때 받는 인수
hidden_size: 완전연결구조에서 은닉층 노드의 수
output_size: 완전연결구조에서 출력층 노드의 수
weight_init_std: 초기화 때의 가장치 표준 편차
풀링계층의 노드수와 어파인계층의 히든 노드수로 가중치 결정
평균가중치의 표준편차: 0.01
학습해야될 가중치에 대한 초기화
W1 => 1번째 합성곱층에 있는 필터의 값(가중치, 랜덤값)
b1 => 합성곱층에 있는 편향(대부분, 0)
W2 => 완전연결계층의 가중치(pooling 계층의 출력값, 은닉층 값)
b2 => 편향(mx10)
계층구조를 OrderedDict() 에 대입
W1, b1, stride, pad
필터의 매개변수, 편향의 매개변수, 스트라이드, 패딩 파라미터값 받아서 합성곱 신경망 구성
default로 2x2짜리 행렬을 하나의 값으로 => max pooling
OrderedDict()에 의해 굉장히 간단해진다.
기울기를 구하기 위해 손실함수를 먼저 구해야!
중간결과 저장 배열 => grads={}
배열의 편미분 값 저장
정규화: 어떤 값을 특정 범위의 값으로 재정의
필터: 인공신경망이 보는(시각적) 사물의 특징