1
. 랜덤으로 하나의 인공지능을 생성한다. (아래의 코드로 가능)
2
. 하나의 미니배치를 선택한다.
3
. 인공지능의 파라메터중 하나의 숫자를 선택한다. 예를들면 아래와 같은 상황이 있다고 하자.
Parameter containing:
tensor([[-0.0234, 0.0279, 0.0242, ..., 0.0091, -0.0063, -0.0133],
[ 0.0087, 0.0007, -0.0099, ..., 0.0183, -0.0007, 0.0295]],
requires_grad=True)
하나의 숫자 -0.0234
를 선택한다.
4
. -0.0234
의 값을 아주 조금 변화시킨다. 예를들면 -0.0233
, -0.0235
와 같은 숫자로 바꾼다. 2에서 고정된 미니배치에 대하여 -0.0234
, -0.0233
, -0.0235
에 대한 loss를 계산해보고 비교한다.
-0.0234
이 최저 loss라면? 값을 안바꾸는게 좋겠음.
-0.0233
이 최저 loss라면?? 값을 -0.0233
으로 바꿈.
-0.0235
이 최저 loss라면?? 값을 -0.0235
으로 바꿈.
5
. 다음은 다른 모든 파라메터에 대하여 3-4을 반복한다. (과정을 반복할수록 loss는 작아지겠죠, 즉 인공지능은 정답을 잘 맞추겠죠)
6
. 다른 미니배치에 대하여 2-5를 반복한다.