다층 퍼셉트론의 가중치를 시각화해 봅니다.

1818 단어 Keras시각화

소개



다층 퍼셉트론의 신경망을 학습시킨 후, 어떠한 방법으로 가시화해 보지 않으면, 블랙 박스가 되어 버려, 어떻게 되어 있는지 잘 모르겠다,라고 느꼈습니다.
입력 데이터가 이미지의 경우는 비교적 가시화하기 쉽습니다만, 단순한 데이터의 경우는, 어떻게 된 것인지 조사하고 있었는데, 이 기사를 찾아, 조속히 시험해 보았습니다.

Deep Learning을 Keras로 시각화하고 싶습니다.
htp : // Rec 루이 t. g도. jp/엔기네 r/지세다이/bぉg/데에 pぇ아 r닌g-케라 s/

이전에 쓴 이 기사
암호화된 통신의 실제 프로토콜을 신경망으로 식별해 봅니다.
ぃ tp // m / kz x / ms / 2 예 c63 d55740262c9 b
의 신경망을 기반으로 위의 기사의 기법을 사용해 주셔서 가중치를 시각화해 보았습니다.

가중치 시각화



입력 데이터 (22 차원)에서 첫 번째 레이어 (50 단위)까지의 모든 가중치를 22 x 50 색으로 시각화합니다. 또한 꺾은선형 차트는 입력 레이어에서 다음 레이어로의 가중치의 평균을 나타내며 어떤 입력 데이터가 다음 레이어에 영향을 미치는지 알 수 있습니다. 이 예에서는 18, 19의 입력 데이터의 영향이 커지고 있습니다.
    for i in [0, 3, 6, 8, 11, 13, 15]:
        # weights 結果をplot
        w1 = model.layers[i].get_weights()[0]
        plt.imshow(w1, cmap='coolwarm', interpolation='nearest')
        plt.colorbar()
        plt.figure()
        plt.plot((w1**2).mean(axis=1), 'o-')
        plt.show()





덧붙여서 18은 Total packets in the forward direction, 19는 Total bytes in the forward direction이라고 하는 것으로, 1 세션당의 패킷수나 바이트수가 프로토콜의 식별에 중요하다, 조금 의외의 결과가 되었습니다.

좋은 웹페이지 즐겨찾기