선생님, 질문이 있습니다.
153
작성한 질문수 72
선생님, 안녕하세요, 질문이 있습니다.
3:38 시간대에서 혼자 생각하다가 의문이 생겼는데요,
결론부터 말씀드리자면 W가 300개가 된다는 말의 의미가 정확하게 무엇인지 모르겠습니다.
질문1) 정확히 W는 모든 가중치를 모아놓은 vector를 말하는 것인가요?
질문2)feature vector(저번 질문 때 선생님께서 용어 정리를 부탁하셨는데, boston 기준으로 예를 들자면
RM의 모든 506개 수치가 들어간 열벡터
LSTAT의 506개 수치가 들어간 열벡터
좀 뭔가 굴비?를 엮은 한 줄로 feature vector 정의를 이해하시면 될 듯 합니다.)
boston의 예시로 돌아와서
만일 bostonDF에 feature가 100개가 있다고 친다면
원래 input 데이터셋의 shape는 (506,100)이 되는 셈이잖아요?세로크기506,가로크기100 그렇게 되면 W의 shape은 (1,100)이 되는 것인가요?
그렇게 보면 하나의 Node를 통과할 때 단계가
1) np.dot(W.T,X)+bias를 하고
2) 이를 활성함수의 인자로 넘긴다
이것인데요,
(506,100) 과 (1,100)을 내적하려면 W를 transpose해주고, 그 결과 (506,1)이 나올 것이고, bias는 각각 더해주면 될 것이구요
층 1에서 노드가 3개일 때, 한 층의 각 노드 안에서는 W=[w1,w2,...wm]와 모든 bostonDF의 각 feature에 대해 node 연산 작업을 완료하게 되면
(506,3)이 나오게 되고 이게 다음 층으로 넘어가는거라고 봐야할까요? 제가 이해한 바가 맞을까요?
질문3) 그럼 결국 층이 1개이고, node가 3개라 가정하면
퍼셉트론에서는 위의 과정을 단 한번만 했었는데 위의 가정에 따르면 같은 과정을 3번하게 되는 거잖아요?
(506,100) -> node1 -> (506,1)
(506,100) -> node2 -> (506,1)
(506,100) -> node3 -> (506,1)
그런데 각 층마다 같은 W=[w1,w2,...wm]을 가지고 같은 연산을 하면 정확히 같은 작업을 노드의 개수만큼 반복하는 것 밖에 안되는 것 같은데, 제가 어디서 이상하게 이해를 하고 있는지 짚어주시면 감사합니다.
답변 1
0
안녕하십니까,
지금 단일 퍼셉트론에 대해 말씀드렸던것을 다중 퍼셉트론으로 이해하시려니 좀 헷갈리시는것 같습니다.
1. 공유해드린 강의 교재 50page에 보시면 심층 신경망(다중 퍼셉트론) 이해를 보시면
입력층의 노드가 3개, 첫번째 은닉층의 노드가 3개 이고, 이를 연결하는 W는 w11, w12, w13.... 등으로 모두 9개 가 있는 3x3 행렬입니다.
마찬가지로 설명에서 입력 노드 100개 출력 노드 3개이면 W는 모두 3x100 행렬입니다.
2. 이해하신게 대부분 맞습니다.
다만 input data가 506개의 record로 되어 있고 개별 record가 100개의 feature를 가졌으면 input data의 shape가 (506, 100) 이 일반적으론 맞지만 보통은 심층 신경망에서는 개별 record의 차원을 고려하지 않고 shape를 표기합니다(개별 record는 batch 크기에 따라 심층 신경망에서 크기가 달라질 수 있기 때문입니다)
그러니가 입력 feature가 100개이므로 입력 feature shape는 (100,) 이고 연결되는 다음 hidden layer의 노드 갯수가 3개 이면 입력 feature와 다음 hidden layer를 연결하는 W는 3X100 행렬입니다.
3. 3번 질문은 제가 잘 이해를 못하겠습니다. 아래와 같이 생각하시게 된 이유가 무엇인지요? Node가 3개라고 같은 과정을 3번하지는 않습니다.
질문3) 그럼 결국 층이 1개이고, node가 3개라 가정하면
퍼셉트론에서는 위의 과정을 단 한번만 했었는데 위의 가정에 따르면 같은 과정을 3번하게 되는 거잖아요?
resize 질문
0
60
1
20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅
0
86
1
Loss와 매트릭 관계
0
75
2
Boston 코랩 실습
0
170
2
배치 정규화의 이해와 적용 2 강의 질문
0
143
2
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
0
151
2
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
0
212
2
소프트맥스 관련 질문입니다
0
215
1
강의 관련 질문입니다
0
161
2
residual block과 identity block의 차이
0
199
2
옵티마이저와 경사하강법의 차이가 궁금합니다.
1
251
1
실습 환경
0
171
2
입력 이미지 크기
0
256
2
데이터 증강
0
203
2
albumentations ShiftScaleRotate
0
211
1
Model Input Size 관련
0
293
1
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
0
206
1
일반적인 질문 (kaggle notebook사용)
0
276
2
실무에서 Augmentation 적용 시
0
346
2
안녕하세요 교수님
0
235
1
가중치 초기화(Weight Initialization) 질문입니다.
0
332
1
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
0
412
1
학습이 이상하게 됩니다.
2
1040
2
boston import가 안됩니다
0
230
1





