본문 바로가기
반응형

분류 전체보기154

#6 [파이썬] 프로그래머스 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 1. list이용 (효율성X) 처음에는 리스트의 원소를 비교하는 방법으로 해결했다. participant와 completion에 공통으로 들어있는 이름을 지워서 최종적으로 participant에 남아있는 즉, 완주하지 못한 사람을 return하였다. 그러나 이 방법은 효율성 검사에서 fail됐다. 2. Dictionary(=hash)이용 두번.. 2021. 4. 5.
딥러닝) CNN 풀링 계층 이전 포스팅에서 CNN구조와 합성곱 계층에 대해 다루었다. Fully connnected 신경망과 달리 CNN은 합성곱 계층과 풀링 계층이 등장한다고 하였다. 오늘은 풀링 계층에 대해 살펴볼 것이다. 1. 풀링 계층(Pooling Layer) pooling은 주로 합성곱 연산과 활성화 함수를 거친 후에 수행하며, 최대 풀링(max plooling)과 평균 풀링(average pooling) 등이 있다. 최대 풀링은 window에서 최댓값을 뽑아내는 것이다. 예를 들어 2x2 최대풀링을 stride=2로 처리하면 다음과 같다. 평균 풀링(average pooling)은 원소를 뽑아낼 때, 최댓값이 아닌 윈도우내의 평균값을 연산하여 취하는 것을 말한다. 일반적으로 풀링의 윈도우 크기와 스트라이드는 같은 값으.. 2021. 4. 5.
딥러닝) CNN 구조 , 합성곱 계층 , padding , stride , 배치 처리 이번 포스팅에서 다룰 합성곱 신경망(Convolutional neural network , CNN)은 이미지 및 음성 인식에서 주로 사용된다. 1. CNN 구조 이전 포스팅까지 다루었던 기본 신경망은 인접하는 Layer의 모든 neuron들이 서로 연결되어 있다. 이처럼 모든 neuron이 연결된 것을 완전연결(Fully connected)라 하며, Affine계층으로 구현했다. 오늘 다룰 합성곱 신경망(Convolutional neural network , CNN)은 기본 신경망의 Affine-ReLU부분은 Conv-ReLU-(Pooling)로 바뀌고, 기본 신경망과 마찬가지로 출력층 근처의 Layer에서는 Affine-ReLU을, 출력층에서는 Affine-Softmax를 사용한다. 2. Fully c.. 2021. 4. 4.
딥러닝) optimizer ( SGD , Momentum , AdaGrad , RMSProp, Adam ) 1. Stochastic Gradient Descent (SGD) SGD는 현재 위치에서 기울어진 방향이 전체적인 최솟값과 다른 방향을 가리키므로 지그재그 모양으로 탐색해나간다. 즉, SGD의 단점은 비등방성(anisotropy)함수에서는 탐색 경로가 비효율적이라는 것이다. 무작정 기울어진 방향으로 나아가는 방식보다 더 효율적인 방식이 필요하다. SGD를 보완한 기법으로 Momentum, AdaGrad, Adam이 있다. class SGD: def __init__(self, lr = 0.01): self.lr = lr def update(self, params, grads): for key in params.keys(): params[key] -= self.lr * grads[key] 2. Momentu.. 2021. 3. 23.
728x90
반응형