일하다가 잠깐 업무공백 생겨서 공부좀 해서 구현해봄
석사때 비전랩실 출신이라
근데 CNN 태동기때 랩실 나와서 그때 뉴럴네트워크랑 머신러닝 원리만 대충 파악하고 지나가서 이론은 전혀모르다가
요즘 일도 좀 안정되고 회사에서 할일 없을때 놀기도 좀 그래서
블로그 띄워놓고 뉴럴네트워크 공부좀 했거든
이론공부 하루정도 걸렸고.
그담날에 매트랩 켜서 하드코딩으로 3레이어로 뉴럴네트워크 만들어봄.
그담날에 기존 뉴럴네트워크 한계가 느껴져서 내가 커스텀한 모델로 재설계함.
4레이어 5레이어 6레이어 늘려가면서 학습테스트 해봄 ㅋㅋ
근데 직접 만들어 보니까. 이거 그냥 센서데이터 한번만 입력해가지고는 비선형 표현하는거 너무 어렵더라고
학습하는것도 너무 오래걸려
그래서 뉴럴네트워크 단순화해서 입력과 출력의 상관관계를 수학으로 풀어보니까 단순 등차수열 급수전개식 형태를 못벗어나더라고.
내가 지금 본업이 제어라서 제어에 적용할려니까 센서데이터 받아서 결과값 도출해야하는데
결과값이 선형적이지 않고 비선형적인데다가, 각 센서값들끼리도 종속적으로 작용하는 경우가 많은데
입력인자들간의 곱셈이나, 입력인자의 제곱을 처리하는 노드가 단 1도 없는거야
히든레이어를 그냥 쭉 늘려서 Sigmoid 함수로 집어넣어서 지수처리 하는게 그나마 곡선을 표현하는 유일한 요소랄까.
근데 너무 비효율 적이더라고.
그래서 히든레이어의 노드 함수들을 바꿔버렸음.
이건 내가 논문쓸 생각이라 자세한 내용은 비-밀 임 ㅋㅋㅋㅋ
이거 하면서 느낀게 왜 뉴럴네트워크 뉴런을 Sigmoid 로 집착하는지 모르겠음 ㅋㅋ
물론 Sigmoid 가 있긴 해야함. 뉴런연산 중간중간에 학습데이터가 폭주하는걸 제한해줄 필요가 있거든
중요한점은 Sigmoid는 뉴럴네트워크 전체에서 가끔씩 중간중간에 한번씩만 들어가도 된다는거야 ㅋㅋ
Sigmoid의 진짜 존재이유는 학습데이터의 안정화이지 학습데이터를 추적하는게 아니더라고
그런데 요즘의 뉴럴네트워크는 이 시그모이드를 뉴런마다 박아서 6층 7층씩 쌓아올려 ㅋㅋ
여튼 자세한내용 적으면 내가 안그래도 논문 쓸 생각인데 너무 많은 아이디어 유출될것 같아서 결론만 요약하자면
기존 뉴럴네트워크로 구현하고 학습시킬때 잘 학습되는 데이터가 학습하는데 역전파 사이클 1만번 돌던게
새로 커스텀한 모델에서 역전파 사이클 12번 돌고 학습 완료됨.
기존 뉴럴네트워크에서 3레이어로 만든거에서 난잡한 비선형 데이터 집어넣어서 학습시켜보니까 100만 사이클 돌고 학습 못함. 포기!!
새로 커스텀한 모델에서 역전파 8만사이클돌고 학습 완료.
학습완료 기준은 학습데이터와 오차율 0.1%이하(Eout 값 기준).
전파연산속도는 기존 FCNN 보다 훨씬 빠름. ㅋㅋ 편미분 방정식 풀어서 연산항 최적화 했는데.
연산량이 FCNN보다 적음 전파연산이던 역전파 연산이던.
연산량도 적은데 학습속도는 거의 100배가 나옴.
심지어 기존뉴럴네트워크에서 학습 불가능한게 학습됨
기분 넘 좋음.
새로만든 커스텀 모델 제미나이에 입력해서 기존에 시도한 유사한 모델 있냐고 찾아보니까
옛날에 Sigma-Pi 모델이랑 Honn 모델이 비슷한데. 내가 설계한 커스텀모델은 옛날에 비슷한 모델에서 문제가 됐던 부분만 과감히 덜어낸 형태랑 유사하다고 하더라.
거기다 히든노드 중간중간에 한번씩 Sigmoid 박아서 값 안정화 시킨건 완전히 독창적이라고. ㅋㅋ
최신 딥러닝 논문에 나오는 KAN 모델에 개선한다고 나온 KAN 2.0 모델이랑 이이디어가 비슷하다고 하는데.
이 모델이 아직 발표도안된 최최최최신 모델이라고 하더라고
그래서 마음이 급해짐
빨리 논문 내봐야겠음 ㅋㅋ
뉴럴네트워크 공부시작하고 3일 딸깍해서 만든 모델이라서 깊이는 없긴한데 일단 모델형태 누군가 곧 따라올것 같아서 빨리 논문내서 내이름부터 박아놓고 생각해야겠음 ㅋㅋㅋ
뭐 잘못된거 있으면 누가 반박해주겠지~~ 일단 학습이 되는데 빨리 논문내고 봐야겠음 ㅋㅋ
댓글 0