2024/12 4

개인 프로젝트 - 모델 도구를 만들어보자(2) : layer

서론  전 시간에 뉴런에 대해서 알아보고 직접 뉴런을 구현했습니다. 모델을 만들 수 있는 도구를 만드는 게 최종 목표인데요. 그러기 위해서 처음부터 하나씩 구현해 가며 기능을 확장시켜 보려고 했습니다. 그래서 맨 처음으로 뉴런 하나라도 만들어 보자는 심정으로 뉴런 클래스를 만들어 보았습니다. 그다음은 당연히 뉴런 객체들을 합치면 레이어가 쉽게 완성될 줄 알았습니다. 그러나 더 간단하고 확실한 방법이 있었습니다! 행렬 곱을 통해서 여러 개의 입력에 대해 여러 개의 뉴런을 가진 레이어의 개념을 만들 수 있었죠. 바로 시작해 보겠습니다! 이전글 : 개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런 개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런계기  처음엔 '정말 정말 작고 단순한 프로젝트 하나를..

개인 프로젝트 - 모델 도구를 만들어보자(1) : 뉴런

계기  처음엔 '정말 정말 작고 단순한 프로젝트 하나를 진행해 볼까?' 하고 생각했습니다. 근래에 선형 회귀에 대해서 공부했기도 하고 관련된 무언가가 좋을 것 같아서 다층 퍼셉트론을 만들어보면 좋을 것 같았죠. 특히 2개 이상의 레이어로만 구현 가능한 XOR 게이트를 만들어 보는 것이 좋을 것 같았죠. 그렇게 GateGenerator 클래스를 하나 만들고 그 안에 모든 것을 구현하려고 욱여넣다 보니 잘 풀리지 않았습니다. 정말 하루를 꼬박 새워서 머리를 싸매니까 미칠 것 같았습니다. 이렇게 간단한 신경망도 나 스스로 구현할 능력이 없다니! 무언가를 부정당한 느낌이었습니다. 다시 처음부터 차근차근 시작해 보기로 마음먹고 처음 생긴 목표는 "뉴런 하나라도 제대로 구현해 보자"였습니다. 그렇게 한 단계씩 발전..

파이썬(python) - 넘파이(numpy)(2) : shape 탐구하기

서론  저번 시간에는 numpy를 소개해 드리고 강력한 도구인 ndarray를 생성하는 방법에 대해서 포스팅했습니다. 이어서 우리가 생성한 배열 ndarray가 가지는 매우 매우 중요한 속성 shape에 대해서 탐구해 보도록 하겠습니다. 이해하기 쉽도록 시각 자료도 열심히 만들었으니까 공감 한 번씩 눌러주세요! 지난 글 : 파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기 파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기인사말  정말 오랜만에 글을 쓰네요! 야심 차게 시작했지만 블로그에 무언가를 기록한다는 게 정말 손이 많이 가더라구요. 그림 자료도 나름대로 이해하기 쉽도록 구상해서 만들고 맞춤법도dori3220.tistory.com  차원..

파이썬(python) - 넘파이(numpy)(1) : 소개 및 행렬&벡터 생성하기

인사말  정말 오랜만에 글을 쓰네요! 야심 차게 시작했지만 블로그에 무언가를 기록한다는 게 정말 손이 많이 가더라구요. 그림 자료도 나름대로 이해하기 쉽도록 구상해서 만들고 맞춤법도 검사하고 내용도 검토하고 등등! 그래도 공부하는 김에 글도 같이 쓰고 사람들과 공유하면 좋잖아요? 그래서 제가 스스로 만들고 싶은 작품을 만들면서 공부하게 된 여러 가지 지식들을 잘 정리해서 적어볼까 합니다. 무엇부터 시작할까 하다가 파이썬에 관한 정보는 이미 너무나도 많고 알고 계신 분들이 많을 거라고 생각해서~ 파이썬에서 가장 많이 사용되는 도구인 넘파이 패키지를 가지고 왔습니다! (numpy==2.2.0 기준으로 작성되었습니다.)  소개  넘파이를 배우러 오셨으니까 독자가 파이썬의 기본적인 문법이나 코드의 흐름을 이해하..