본문 바로가기

전체 글327

클린코드 복습 겸 일부 정리. 모든 장은 결론부터 서술됨 6장. 객체와 자료구조 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어렵다. 이런 어려움을 해소하고자 방문자 패턴 등을 사용한다. 자료구조는 별다른 동작 없이 자료를 노출한다. 무지성으로 get, set 함수를 제공하는 클래스도 자료구조로 분류한다. 기존 자료구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다. 우수한 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택해야 한다. 디미터 법칙은 "모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다"는 법칙이다. 좀 더 정확하겐, "클래스 C의 메서드 f.. 2022. 7. 26.
NLP with Transformers - Ch1 Ch1. Hello Transformers Transformer: 2017년 'Attention is all you need' 논문에서 소개. 퀄리티와 비용 모든 측면에서 RNN의 성능을 초월함. ULMFiT: LSTM네트워크 기반 학습에서 효과적인 '전이학습' 방법 소개 The Encoder-Decoder Framework LSTM 구조에서 출력벡터를 hidden state라고 함. 기계번역 분야에선 encoder-decoder 구조 또는 sequence-to-sequence 구조를 많이 사용함. 'encoder'는 입력 시퀀스로부터 정보를 last hidden state라고 부르는 숫자 표현으로 인코딩한다. 이 state는 'decoder'로 전달되어 출력 시퀀스를 생성한다. attention이 없는.. 2022. 3. 28.
Deep Learning with PyTorch - Ch6 Ch6. Using a neural network to fit the data 6.1 Artificial neurons neural network: 간단한 함수의 조합으로 복잡한 함수를 표현할 수 있는 수학적 요소 neuron: neural network의 기초 블록(layer). input -> linear transformation -> activation -> output 형태. 6.1.2 Understanding the error function 에러함수에서 최적지점이 하나만 존재하는게 아니라 지역최적, 전역최적점이 존재한다는 말인듯 6.1.3 All we need is activation 활성함수의 2가지 역할 모델의 내부에선, output함수가 다른 값들에 대해 다른 기울기를 갖게 하도록 함(.. 2022. 3. 28.
Deep Learning with PyTorch - Ch5 Ch5. The Mechanics of learning fit the data = make the argorithm learn from data 5.2 Learning is just parameter estimation input data, 라벨(ground truth), 가중치의 초기값이 있을 때, 입력 데이터는 모델에 forward pass하고 결과 값과 라벨의 에러를 계산한다. 에러가 줄어드는 방향으로 기울기(gradient)가 역전파되면서 가중치가 업데이트된다. 이 과정은 에러가 특정치 이하로 떨어질 때까지 반복한다. 5.3 Less loss is what we want loss function의 값이 최소화되는 파라미터를 찾아가는 과정을 학습이라고 함. 5.4 Down along the grad.. 2022. 3. 26.