나는 자신을 쓴 신경망을 사용하여 sine() 함수를 근사하려고한다. 나는 단순한 OCR 문제에 신경 네트워크를 이미 테스트했고 효과가 있었지만 근사치 sine()에 적용하는 데 문제가 있습니다. 내 문제는 훈련 도중 내 오차가 정확히 50 %에 수렴한다는 것이다. 그래서 나는 그것이 완전히 무작위라고 생각한다.신경망을 가진 근사 함수
입력 (0에서 PI)에 하나의 입력 뉴런과 결과에 대해 하나의 출력 뉴런을 사용하고 있습니다. 나는 뉴런의 수를 다양하게 할 수있는 하나의 숨겨진 레이어를 가지고 있지만 현재 약 6-10을 시도하고 있습니다.
sine()의 출력이 -1과 1 사이 인 반면 0과 1 사이에서만 출력되는 sigmoid 전달 함수 (내 응용 프로그램의 요구 사항)를 사용하고 있기 때문에 문제가 있다는 느낌이 들었습니다. 이 문제를 해결하기 위해 출력을 2로 곱한 다음 1을 뺀 것을 시도했지만 문제가 해결되지 않았습니다. 나는이 일을하기 위해 어딘가에서 어떤 종류의 변환을해야한다고 생각하고있다.
아이디어가 있으십니까?
NN 기반의 근사치에 대한 연구 구현에 관심이있는 경우 내 [근사 컴퓨팅에 대한 조사 보고서] (https://www.academia.edu/20201007/A_Survey_Of_Techniques_for_Approximate_Computing)에서 질문에 대한 자세한 대답을 볼 수 있습니다. – user984260