2017-05-01 4 views
3

나는 해결하려고 노력하고있는 매우 구체적인 문제가 있습니다. 그것은 매우 직설적이지만, 나는 keras에서 구현할 수 없습니다. 예를 들어, 나는 input_dim = 300을 가지고있다. 나는 보폭 100으로 크기 100의 필터를 적용해야한다. 따라서 기본적으로 벡터의 100 개 열을 각각 독립적으로 사용하고 각각에 활성화를 적용한다. 그래서 3 개의 출력을 가지고 완전히 연결되어있는 레이어에 연결될 것입니다. 나는 인터넷 검색을 시도하고 Keras 문서를 참조했지만 매개 변수의 값이 무엇이되어야하는지에 관해서는 매우 명확하지 않다. 질문이 다소 모호한 경우 사과드립니다. it looks something like thisKeras LocallyConnected1D 레이어

또한 그림에서 설명한 구성을 얻는 방법 중 하나라고 덧붙이고 싶습니다. 3 개의 퍼셉트론이 연결되어 레이어를 형성 한 다음 다른 밀도가 높은 레이어에 연결되는 것과 같은 것입니다. 그러나 다른 방법이있을 수 있습니다.

+0

그래서 무엇을 시도 했습니까? 'LocallyConnected1D (3, 100, input_shape = (None, 300))'이 아닌가? – maxymoo

+0

저는 Keras를 처음 접했고 그 논쟁이 의미하는 바를 이해하기가 어려웠습니다. 또한 위의 작동하지 않습니다 : (. 나는 질문을 편집하고 다이어그램을 추가 할 것입니다. – niknak

답변

0

분명히 출력의 모양이 잘못되었습니다. 필터의 크기가 100이고 보폭이 100 인 경우, 출력 활성화 레이어의 크기가 3 인 것이 분명하고 keras에 분명합니다. 다른 한편으로는 첫 번째 매개 변수 (' t는 이것을 시도했다.) 각각의 입력 뉴런 자체가 다차원이라면 필터의 깊이를 다룬다. RGB 값과 같은 것입니다. 이제는 여전히 1D라고 불리는 이유는 확실하지 않습니다. 아마도 뉴런의 배열이 아직 1D이기 때문일 수 있습니다. 그러나 여기 당신이 그것을하는 방법이 있습니다.

model.add(LocallyConnected1D(1, 100, strides=100, input_shape=(300, 1))) 
+0

그것은 "시간"을 따라 한 차원에서 "이동"되기 때문에 1D라고 불립니다. 2D도 다른 차원 치수. –