Home

파이썬알고리즘인터뷰. 3장요약

파이썬 알고리즘 인터뷰 3장. 파이썬 1. Print 1-1) list 출력 ‘구분자’.join(리스트) a = ['A','B'] print(' '.join(a)) 결과 : A B 1-2) format 사용 idx = 1 fruit = 'Apple' print(f'{idx+1} : {fruit}') 결과 : 2: Apple 1-3) locals locals()는 로컬 심볼 딕셔너리를 가져오는 메소드로 업데이트 또한 가능하다. 여기서는 딕셔너리를 가져오는 부분에 집중해서 살펴보자면, 우선 로컬에 선언된 모든 변수를 조회할 수 있는 강력한 명령이므로 디버깅에 많은 도움이 된다. 특히 로컬 스코프에 제...

Read more

Lecture 14. Visualizing and Understanding

Visualizing and Understanding 참고 : https://velog.io/@kangtae/EECS-498-007-598-005-14.-Visualizing-and-Understanding Intro 이번 강의는 convolutional neural network에서의 Visualizing and Understanding에 대해 다루어본다. 첫번째 토픽은 neural net내부를 들여다봐 training data에 대해 배운다는 것이 무엇인지 이해하려하는 테크닉이고 두번째 토픽은 neural net을 Visualizing 하고 Understanding하는데 사용되는 많은 테크닉들이 de...

Read more

Lecture 13. Attention

Attention 참조 : https://velog.io/@seoyeon/Lecture-13-Attention Seq2Seq with RNNs input은 영어문장, output은 스페인어 문장 (영어문장을 스페인어 문장으로 만듦) encoder에서는 input sequence를 받아서 t만큼의 step을 거쳐 $h_t$ hidden state를 만들고 이것을 decoder의 첫번째 hidden state $s_0$ 와 context vector로 사용함 Decoder에서는 Input인 START token을 시작으로 이전 state(첫번째에서는 $s_0$)와 context vector를 통해서 ...

Read more

Lecture 12. Recurrent Neural Networks

Recurrent Neural Networks one to many는 예를들어 개가 뭔가를 먹고 있는 이미지가 들어왔을 때 아웃풋으로 A dog eats something이라는 문장을 출력해내고 싶을때. (Image -> sequence of words)각 단어를 특정 벡터로 코딩한 다음에 벡터들을 Output으로 만든다. input이 sequence모양일 수 있음. 이를 테면 video가 인풋. 비디오는 시간적으로 dependency있자넝. (Sequence of images->label) 하나의 아웃풋 예측 many to many는 input도 sequence이고 output도 s...

Read more

Lecture 11. Training Neural Network (Part2)

Training Neural Networks (Part 2) Overview Learning Rate Schedules 어떤 learning rate가 이론적으로 좋다 이런거 없음. 넣어봐가면서 살펴봐야함. 어떤 옵티마이저를 쓰던 러닝레이트는 사전에 정의해줘야함. 그르면 어떤 learning rate를 선택하는 것이 좋을까? 그림을 보면 4가지 경우로 나눠서 얘기하고 있음. learning rate를 너무 높게 잡으면 (노란색) 처음에 떨어지는것 같더니 점점 바깥으로 튀어나감. loss가 오히려 높아져 버리는 상황. 긇다고 해서 learning rate를 아주 낮게 잡으면 (파란색) 점점 내려가기는 ...

Read more

Lecture 10. Training Neural Network

Training Neural Network Activation Functions Activation function은 linear하게 프로세싱된 것를 f가 non linear하게 구부러뜨림. f가 linear하다면 네트워크 깊게쌓는 의미가 없음. sigmoid 확률적인 해석이 가능. s자. 예를 들어 0.8이 나오면 다음 레이어를 활성화 시킬 확률이 0.8 이런식. 하지만 크게 세가지의 문제. Saturated neurons(x값이 크거나 작다) kill the gradients x가 -10이거나 10일때 downstream gradient가 거의 0. 누적되면 아랫단 ...

Read more

Lecture 8. CNN Architectures

CNN Architectures AlexNet 먼저 이미지넷 데이터가 227x227이니까 input으로 쓰고 지금은 deep하지 않지만 그때만 해도 5층의 layer는 deep한 모델이었음. 그리고 몇개 layer마다 맥스풀링을 했고 convolution layer를 얹고 나서 마지막에 나온 채널과 픽셀들을 한줄로 쭉펴서 그 위에는 fully connected layer를 쌓음. 또한 주목할만한 점은 Alexnet은 Relu activation을 사용한 첫번째 neural network임. 이때, 지금은 사용하지 않는 테크닉들이 쓰이는데, 이를테면 “Local response Normalization”...

Read more

Lecture 7. Convolutional Network

Convolutional Network 이전까지 보았었던 linear classifier와 neural network model은 pixel값들을 flat하게 펼쳐 연산했기 때문에 image의 spatial structure까지 다루지 못한다는 문제점이 있었다. 이 전 강의영상에서 보았떤 matrix valued backprop도 matrix form으로 연산을 하지만 결국 flat한 것과 다를바 없어 spatial feature를 커버하지 못한다. 이러한 문제를 해결하고자 fully connected neural network에 새로운 operator를 정의하여 2-dimensional spatial dadta...

Read more