Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
  • Sign in / Register
I
identify neurons
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 3
    • Issues 3
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • seo hyeonu
  • identify neurons
  • Issues
  • #2

Closed
Open
Opened Apr 07, 2025 by seo hyeonu@hyeonu
  • Report abuse
  • New issue
Report abuse New issue

[실험] Activation Function 변경 실험

I. Activation Function 변경 실험

1. 개요

  • Activation 함수에 따라 최적의 기준값을 찾기 위한 실험이 필요함.
  • Activation 함수의 특성에 따라 기준값이 달라질 것으로 예상
  • 실험은 activation 함수를 ReLU, Leaky_ReLU로 변경하여 실험 진행

2. ReLU

2-1 활성화 함수 ReLU로 바꾸고 마스크 안 씌운 원본 PPL

  • Activation 함수는 ReLU로 고정
  • Activation 기준값은 0, 0.2, 0.8로 변경하며 실험 진행
  • 활성화 함수 ReLU로 바꾸고 마스크 안 씌운 PPL 값은 아래와 같다.
en zh fr es vi id ja
1.6559926189583372 1.4350586649823682 1.6037662982402419 1.5749264995950418 0.8922599279806089 1.3296973100090144 1.1987707914690708

2-2 activation: 0

en zh fr es vi id ja
en 8.357254 8.257414 8.566660 8.591500 8.686800 8.815977 8.052752
zh 8.348621 8.125364 8.565072 8.586580 8.697079 8.814649 7.817582
fr 8.338794 8.255168 ==8.630081== ==8.611170== 8.689045 8.824647 8.075893
es 8.333653 ==8.259196== 8.559010 8.581338 8.686871 8.812092 8.057066
vi ==8.372846== 8.217999 8.554459 8.577243 ==8.726312== 8.703884 ==8.080677==
id 8.336981 8.188861 8.547189 8.600646 8.455047 8.739403 8.072101
ja 8.353275 8.174240 8.562021 8.588363 8.724016 ==8.834107== 7.751126
Top1-Top2 0.015593 0.001782 0.063421 0.010525 0.002296 0.009461 0.004784

2-3 activation: 0.2

en zh fr es vi id ja
en ==8.371642== 8.253672 8.566486 8.595325 8.686823 8.818622 8.042230
zh 8.345046 8.091299 8.559071 8.578138 8.620283 8.820940 7.825825
fr 8.321079 ==8.279862== ==8.724480== ==8.639166== 8.765956 8.833689 8.054669
es 8.341667 8.257394 8.578411 8.620524 8.717099 8.811896 ==8.057914==
vi 8.350756 8.259632 8.552663 8.580312 ==8.785112== 8.828061 8.056093
id 8.355052 8.234831 8.569144 8.615914 8.711198 8.754474 8.055268
ja 8.349000 8.185049 8.558954 8.583944 8.732740 ==8.851138== 7.720386
Top1-Top2 0.016590 0.020230 0.146068 0.018641 0.019156 0.017449 0.001821

2-4 activation: 0.8

en zh fr es vi id ja
en 8.374427 8.265597 8.586283 8.602981 8.700918 8.829538 8.053552
zh 8.337144 ==8.311241== 8.557743 8.582128 8.677861 8.823130 7.975646
fr 8.346922 8.254410 ==8.669330== 8.628724 8.727769 8.836971 8.033346
es 8.362827 8.269430 8.563429 ==8.636271== 8.691141 8.811491 8.066188
vi 8.347503 8.303553 8.565223 8.623304 ==9.177853== 8.792824 8.048205
id ==8.399783== 8.263017 8.558895 8.625415 8.704255 ==8.845498== 8.039065
ja 8.363848 8.266405 8.562790 8.589916 8.683746 8.817320 ==8.197731==
Top1-Top2 0.025356 0.007688 0.083047 0.007547 0.450084 0.008527 0.131543

3 activation 함수: Leaky_ReLU

  • Activation 함수는 Leaky_ReLU로 고정

  • Activation 기준값은 0, 0.2, 0.8로 변경하며 실험 진행

  • 활성화 함수 Leaky_ReLU로 바꾸고 마스크 안 씌운 PPL 값은 아래와 같다.

en zh fr es vi id ja
1.6559926189583372 1.4350586649823682 1.6037662982402419 1.5749264995950418 0.8922599279806089 1.3296973100090144 1.1987707914690708

3-1 activation: 0

en zh fr es vi id ja
en ==8.294554== ==7.748488== 8.473761 ==8.503105== 7.977347 8.901530 7.439970
zh 8.272188 7.586136 8.467262 8.492191 7.951980 8.905836 7.171393
fr 8.269184 7.735469 ==8.545139== 8.500246 7.990508 8.894294 7.474138
es 8.269875 7.732766 8.464030 8.482678 7.975952 8.890165 7.431672
vi 8.244601 7.745340 8.432677 8.474195 ==8.136992== 8.758988 ==7.546245==
id 8.253427 7.724309 8.454509 8.496476 7.887800 8.529814 7.472472
ja 8.265898 7.655602 8.462954 8.499063 7.993908 ==8.907767== 7.123936
Top1-Top2 0.022366 0.003148 0.071379 0.002859 0.143084 0.001931 0.072107

3-2 activation: 0.2

en zh fr es vi id ja
en 8.284662 7.729647 8.468645 8.504524 7.980445 8.891819 7.421123
zh 8.265262 7.612902 8.453099 8.485843 7.964909 8.888446 7.233593
fr 8.246234 7.745350 ==8.600997== 8.509551 8.015075 8.901105 7.479665
es 8.261915 7.729713 8.470362 8.503294 7.996648 8.875376 7.442729
vi 8.259569 ==7.765986== 8.435579 8.467576 ==8.372714== 8.919489 7.455225
id ==8.285628== 7.758998 8.476169 ==8.521636== 8.113198 8.734288 ==7.498848==
ja 8.259858 7.695450 8.466221 8.496862 8.009003 ==8.926769== 7.309366
Top1-Top2 0.000967 0.006989 0.124828 0.012085 0.259516 0.007280 0.019183

3-3 activation: 0.8

en zh fr es vi id ja
en ==8.295885== 7.723570 8.480654 8.512862 7.974187 ==8.916600== 7.421620
zh 8.274496 ==7.818634== 8.451535 8.489549 7.984244 8.910359 7.421642
fr 8.241008 7.749780 ==8.549860== 8.528387 7.993308 8.885095 7.461240
es 8.267332 7.752016 8.448378 ==8.540645== 8.000197 8.871218 7.466754
vi 8.270486 7.741011 8.460619 8.497438 ==8.482788== 8.867784 7.447692
id 8.278929 7.687565 8.439062 8.503178 7.967343 8.654910 7.375441
ja 8.262660 7.779741 8.449811 8.485206 7.990470 8.874827 ==7.820613==
Top1-Top2 0.016956 0.038893 0.069206 0.012258 0.482591 0.006241 0.353859

4 실험 결과 분석

  1. 활성화 함수 변경 (SiLU → ReLU)의 영향

    • 마스크를 적용하지 않은 상태에서의 PPL 값은 활성화 함수 변경에 따른 큰 차이를 보이지 않음.

    • 마스크 적용 후에는 타겟 언어뿐만 아니라 전체적인 PPL 값이 전반적으로 상승함.

    • Activation 기준값을 0.8로 높인 경우, 기존 실험과 유사한 경향을 보였지만 여전히 전반적인 PPL 값은 높게 나타남.

  2. 활성화 함수 변경에 따른 뉴런 특성 변화 가능성

    • ReLU를 사용할 경우, 언어 특화 뉴런이 아닌 의미 특화 뉴런이 주요하게 선택되는 경향이 있는 것으로 추정됨.

    • 이로 인해 마스킹된 뉴런이 타겟 언어에 기여하는 정보가 줄어들어 PPL 값이 상승했을 가능성이 있음.

  3. 추가 분석 방향

    • 위 가설을 검증하기 위해, 마스킹된 뉴런들의 언어별 분포 또는 의미 기반 분포를 분석할 필요가 있음.

    • 특히 SiLU와 ReLU 사용 시 마스킹된 뉴런의 종류와 위치에 차이가 있는지를 비교 분석하면 유의미한 인사이트를 도출할 수 있음.

5. Distribution of masked neurons

  • 활성화 함수를 바꾼후 mask 처리되는 뉴런들이 어느 위치에 분포하는 지 알아보기 위함.
  • 활성화 함수를 ReLU 또는 Leaky_ReLU로 바꾸었을 때 언어 특화 뉴런이 아닌 의미 특화 뉴런들이 mask 처리되는 것 같음.

5-1 activation 함수: SiLU

Activation: 0 Activation: 0.2 Activation: 0.8
a-7b_tSize24K_acti_0.txt a-7b_tSize24K_acti_0.4.txt a-7b_tSize24K_acti_0.8.txt

5-2 activation 함수: ReLU

Activation: 0 Activation: 0.2 Activation: 0.8
a-7b_tSize24K_actiFun_ReLU_actival_0.txt a-7b_tSize24K_actiFun_ReLU_actival_0.2.txt a-7b_tSize24K_actiFun_ReLU_actival_0.8.txt

5-3 activation 함수: Leaky_ReLU

Activation: 0 Activation: 0.2 Activation: 0.8
a-7b_tSize24K_actiFun_Leaky_ReLU_actival_0.0.txt a-7b_tSize24K_actiFun_Leaky_ReLU_actival_0.2.txt a-7b_tSize24K_actiFun_Leaky_ReLU_actival_0.8.txt

6 분석

  1. 뉴런 선택 분포

    • ReLU와 Leaky ReLU 모두에서 activation 기준값이 0 또는 0.2일 때, 중간 레이어에서 많은 뉴런들이 선택되는 경향을 보임.
    • 이는 언어 특화 뉴런들이 주로 레이어의 끝단에서 나타나는 기존 분포와는 다른 양상임.
  2. 의미 특화 뉴런 선택 가능성

    • 위와 같은 분포는 해당 조건에서 언어 특화 뉴런보다는 의미 특화 뉴런이 주로 선택된다는 점을 시사함.
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
1
Labels
Experiments
Assign labels
  • View project labels
Reference: hyeonu/identify-neurons#2