안녕하십니까 선생님 추천시스템을 수강하고 있는 학생입니다! 개인적인 질문이 있어 글을 남기게 되었습니다. 혹시 추천시스템 중에 인구통계학 특성을 기준으로 추천해주는 알고리즘이 있을까요? (예를 들어, 성별 나이 소득 거주지 등) 많이 알려진 추천시스템들은 보통 아이템을 기반으로 추천해주는 것 같아 궁금하여 여쭤봅니다. 감사합니다.
안녕하세요. Upstream Gradient와 Local Gradient를 제대로 이해했는지 몰라 질문드립니다. 세터1의 가중치를 업데이트하려고 할 때 Local Gradient는 구하고자 하는 가중치(세터1)가 직접 곱해지는 레이어의 gradient를 가리키는 것이고 Upstream Gradient는 세터1이 직접 곱해지는 레이어 이전까지(역방항기준) 모든 레이어의 gradient를 가리키는 것이 맞나요? 상세하고 명쾌한 강의 감사드립니다.
안녕하세요 교수님! 섹션 2의 딥러닝 모델에서 활성화 함수의 적용 강의에서 의문점이 생겨서 작성합니다. Sigmoid 함수의 특성에서 평균값이 0.5, 즉 0이 아니라서 Gradient Update가 지그재그 형태로 발생한다고 하셨는데.. 이 부분이 이해가 잘 되지 않습니다. 입력값의 크기가 양으로 크거나 음으로 클 때 기울기가 0에 가까워서 Gradient Update가 적어진다는 것은 알겠습니다. 하지만 입력값을 넣었을 때의 시그모이드 출력값의 평균과 Gradient Update가 어떤 관계인지가 이해가 되지 않습니다ㅜ 시그모이드를 미분한 함수가 시그모이드 출력값을 입력값으로 넣는게 아닌데... 왜 지그재그로 발생하는 것인가요.....? 감사합니다!
동일한 best-seller 모델로 train, test 데이터셋으로 split 하기 전에는 정확도가 0.99xxx 였는데, split 하면 1.02xx로 1을 넘어서는 이유는 무엇인가요? 0.99는 99%정확도라는 의미로 알고 있는데, 1.02는 102%라는 의미인지 아니면 1.02%라는 의미인지 헷갈립니다. 그리고 dataset 을 split해서 score 매기면 정확도는 당연히 떨어지는게 맞는거죠?
5분 50초쯤에 data1 = torch.FloatTensor([1,2]) # 1,2 원소를 가진 1D 텐서 선언 이걸 가르키면서 정확히 말하면 2차원 벡터라고 말씀하셨는데 그럼 data1 = torch.FloatTensor([1,2,3,4]) print(data1) tensor([1., 2. ,3., 4.]) 이렇게 된다면 4차원이 되는건가요? 다른 블로그나 구글링을 해보면 2. 벡터(1D Tensor) 숫자들의 배열을 벡터라고 하며 1차원 텐서라고 한다. 벡터의 축의 개수는 1개이다. vector = np.array([1, 2, 3, 4, 5]) print(vector) print(vector.ndim) print(vector.shape) [1 2 3 4 5] 1 (5,) 이렇게 말하고 있습니다. 또 강사님의 02_tensor.md 파일을보면 벡터(1D 텐서) 벡터(1D 텐서): 숫자 여러 개가 특정 순서대로 모여 있는것을 의미함 (배열이라고 이해하면됨) 하나의 벡터가 이루는 데이터의 갯수가 n개이면 n-차원 벡터라고함 벡터는 열 벡터, 행 벡터 둘다 가리키지만, 열 벡터로 표현하는것이 일반적임 이라고 하는데 갯수가 n개이면 n-차원 벡터 이말과 저위의 다른 누군가의 블로그(구글링)의 말에 혼동이 좀 생기는것 같습니다. 아마 강사님께서 차원의 대한 얘기가 혼동될 수 있다고 수차례 말씀하셨는데 이부분인가 싶기도합니다. 아니면 제가 잘못 생각하고 있는부분이 있는지 알려주시면 감사하겠습니다
답변 감사드립니다! 강의를 통해 Head 수에 따라 다양한 영역에 대한 Attention 이 가능하다고 이해했습니다. 이에 따른 추가적인 궁금한 부분이 있습니다. (아래 질문은 배치 사이즈를 배제하고 질문드립니다.) U msa 를 통한 Linear Projection 이전의 shape는 (N x D h x k) 이고, 이후의 shape는 (N x D)로 k가 사라져서 다양한 영역을 Attention 하고자 하는 의도가 사라지는 것 아닌지, 그렇다면 U msa 의 역할이 무엇인지 헷갈렸습니다. U msa 를 통한 Linear Projection을 진행한 후에도 다양한 영역을 Attention하고자 하는 Head의 특성이 반영되기에 상관이 없는건지 궁금합니다. U msa 도 무작위로 주어지고 학습을 통해 최적화되는 것이 맞을까요?
안녕하세요.선생님, 강의 잘 듣고 있습니다. 다름이 아니오라, 현업에서 Ultralytics yolo v3 Onnx를 이용해서 Post Processing을 해보려하는데요, c++ code 참고할만한 것이 있을까요? python은 많이 봤는데 c++은 제대로 동작되는 code찾기가 어렵네요.
안녕하세요 강사님. Transformer 에 대해 처음 공부해보니 헷갈리는 부분들이 있어서 질문남깁니다. 1) k 개의 Multi-Head를 만든 후에 Linear를 해주는 이유가 따로 있는지 궁금합니다. 단순히 Residual Connection을 위해 차원을 맞춰주기 위해 하는 것인가요?? 2) Head의 개수(k)는 CNN에서 필터 개수처럼 사용자가 정해주는 파라미터인가요?? 3) 클래스 토큰까지 Positional Embedding을 더해줘야 하는 이유가 따로 있을까요?? 좋은 강의 덕분에 따라가긴 하는데 한 번에 이해하려하니 과부하가 와서 헷갈리는게 생기네요ㅠㅠ 코드 분석 파트 들어가면 조금 더 이해가 될 것 같은데 우선적으로 질문남겨봅니다.