반응형
딥러닝 모델 학습시 가중치를 초기화하고, 예측값과 실제 값의 차이를 loss function을 통해 구한다. 이후 loss를 줄이는 방향으로 가중치를 업데이트를 하게 된다. 결국 모델이 학습하는 대상은 optimal한 가중치이다. 첫 가중치는 랜덤한 수로 초기화 된다. 이때 초기화 되는 가중치 값이 모델 성능에 영향을 미친다. 아래 그림은 가중치 초기값에 따라 학습의 진행 방향이 달라지는 모습을 보여준다. Weight Initialization은 nn.init을 통해 설정할 수 있다. 이때 bias도 따로 설정해줘야 한다. torch.nn.init.constant_(tensor, val): 상수로 설정 torch.nn.init.ones_(tensor): 1로 설정 torch.nn.init.zeros_(t..
🐊 논문 링크: https://arxiv.org/pdf/1606.07792.pdf Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg Corrado, Wei Chai, Mustafa Ispir, Rohan Anil, Zakaria Haque, Lichan Hong, Vihan Jain, Xiaobing Liu, Hemal Shah 2016년 구글에서 발표한 논문이다. 논문에서 제시하는 Wide & Deep learning은 linear 모델과 deep neural networks를 jointly하게 학습하는 모델이다. 논문에서 언급하듯 jointly traine..
태블로에서 제공하는 슈퍼스토어 파일로 만든 대시보드이다. 타겟 변수 [Sales]를 효과적으로 시각화 하는 것을 목표로 작성했다. [Sales]와 [Profit]과 같은 타겟 변수를 연도별, 지역별, 카테고리별로 슬라이싱 하는 것이 태블로의 핵심 기능이다. 하이라이트 액션과 필터 액션을 구현해서 interactive한 대시보드를 구성했다. 하이라이트 액션과 필터 액션을 하나하나 지정하기 귀찮긴 하지만... 필수적이다. 각 [Customer]별 [Sales], [Profit] 기록을 구체화했다. 위 대시보드와 서로 상호작용한다. 샘플 데이터이다 보니 데이터가 클린해서, 시각화에만 집중하면 되었다. 만약에 실제 로그 데이터로 작업을 해야한다면 전처리 작업이 제일 힘들 것 같다.
이전에 포스팅 했던 Transformer 이론을 PyTorch 코드로 이해하기 위한 포스팅이다. 🐊 Transfomer 이론 : https://ysg2997.tistory.com/8 [DL] Transformer: Attention Is All You Need (2017) 🐊 논문 링크: https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is all you need. Advances in ..
🐊 논문 링크: https://dl.acm.org/doi/pdf/10.1145/3357384.3357895 Wu, S., Sun, F., Zhang, W., Xie, X., & Cui, B. (2020). Graph neural networks in recommender systems: a survey. ACM Computing Surveys (CSUR). 2020년 알리바바에서 발표한 논문이다. BERT4Rec 이름에서 알 수 있듯, 너무나 유명한 Google의 BERT를 추천시스템에 적용한 모델이다. BERT 원 논문을 보면 'Sentence'와 'Sequential'을 정의한 부분이 나온다. 이 때 'Sentence'는 반드시 linguistic하지 않아도 되고, an arbitrary span o..
A = torch.ones(2, 3, 4) A >>> tensor([[[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]], [[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]]]) Tensor의 차원을 반환 - dim() - ndim print(A.dim()) print(A.ndim) >>> 3 3 Tensor의 크기를 반환 - shape - size() print(A.shape) print(A.shape[1]) print(A.size()) print(A.size(2)) >>> torch.Size([2, 3, 4]) 3 torch.Size([2, 3, 4]) 4 Tensor 사이즈를 변경 - view() - resh..