본문 바로가기
Deep Learning

[딥러닝] 공부 입문기, 행렬 개념

by r4bb1t 2021. 1. 14.
반응형

 최근 딥 러닝을 공부해볼 좋은 기회가 생겼다. 현재는 파이썬도, 딥러닝도 거의 모르는 상태인데 차근차근 공부해보려고 한다. 이번 딥 러닝 공부의 목표는, 실제로 처음부터 구현은 하지 못하더라도 기존 모델 코드를 읽고 이해하고, 개선점을 찾아볼 수 있을 정도의 실력을 키우는 것으로 잡았다. 특히 이미지 쪽 딥 러닝 기술을 이용해 재미있는 웹 서비스를 만들어 보고 싶은 생각이 있다.

 

 우선 읽어볼 첫 책은 <밑바닥부터 시작하는 딥러닝 - 파이썬으로 익히는 딥러닝 이론과 구현 (사이토 고키)>이다. 책을 선택한 특별한 이유가 있는 것은 아니고, 고등학교 후배랑 같이 공부하다가 딥 러닝 할 거라고 했더니 책 있다고 해서 빌려왔다ㅋㅋ 한번 싸악 읽어볼 생각이다. 2009 개정 교육과정부터 고등학교 과정에 행렬이 빠져서 안이하게도 나는 행렬을 공부해본 적이 없는데, 고3때 고급 수학을 수강했던 후배에게 고급 수학 I 교과서도 빌려왔다. 후배가 행렬 기본 개념도 가르쳐줬는데 일단은 EBS 2016 수능 수학 강의 보면서 더 공부해보기로..!

 

책 빌려주고 가르쳐주는 후배, 늘 도와주는 선배와 함께

 파이썬은 모른다고는 했지만, 교양 수업에서 한 번 사용해본 적은 있고 문법 자체가 어렵지는 않다는 이야기를 많이 들은 터라 딥 러닝 개념과 응용에 더 중점을 두기로 했다. 파이썬이 싫어서 공부 안 하려는 게 아니다.

 

 공부는 우선 1. 행렬 개념 공부, 2. <밑바닥부터 시작하는 딥러닝> 완독, 3. 인터넷 강의 수강하면서 직접 코딩해보기 의 순서로 잡았다. 딥 러닝 분야는 처음이니 어떻게 시작해야 할 지 몰라서 약간은 추상적으로 짜 보았는데 점차 구체적으로 해 봐야지!

 

행렬

 수나 식을 직사각형 모양으로 배열한 것을 행렬이라고 한다. 가로줄은 행, 세로줄은 열이고 배열된 각 수나 식을 그 행렬의 성분이라고 한다.

이미지 출처: 수학백과

 보통 행렬은 대문자 알파벳으로 표현하고,일반적으로 행렬 A의 i번째 행의 j번째 열의 성분은 aij로 나타낸다.

이미지 출처: 수학백과

 주 대각선의 모든 성분이 1, 나머지 성분이 0인 정사각형 모양의 행렬을 단위행렬이라고 한다. 보통 E로 표현한다.

 

행렬의 연산

이미지 출처: 수학백과

 행렬의 덧셈과 뺄셈은 같은 크기(행과 열의 개수가 같은 경우)여야 성립되고, 같은 위치의 성분끼리 덧셈 및 뺄셈을 한 결과로 정의된다.

이미지 출처: 수학백과

 행렬의 곱셈은 좀 특이한데, 행렬 A와 B를 곱할 경우 A의 열의 개수와 B의 행의 개수가 같아야 성립된다. 행렬 A의 크기가 m*k이고 행렬 B의 크기가 k*n이면, 두 행렬의 곱 AB의 크기는 m*n이 된다.

 그러니까 A의 i행의 각 성분과 B의 j열의 각 성분을 순서대로 하나씩 곱해서 더하면 그게 새 행렬 AB의 (i, j) 성분이 되는 것이다.

 

아다마르 곱

크기가 같은 행렬을 이렇게 곱하면 아다마르 곱이다?

 A○B로 표현하는 행렬의 아다마르 곱은, 같은 크기의 행렬 두 개의 같은 위치의 성분을 각각 곱하는 연산이다. 덧셈, 뺄셈과 비슷하다.

 

 이것저것 공부하고 싶은 것은 많은데 시간이 참 부족하다는 생각이 든다. 없는 시간이나마 쪼개어 최대한 많이 건드려봐야겠다. 특히 올해는 조금 여유가 있을 것 같아서 여러 목표들을 세워놓았는데, 그러다 보니 처음 1순위로(?) 계획했던 휴식은 못 취할 것 같다ㅋㅋ 목표들은 크게 1. 웹 계속 꾸준히 하면서 결과물 내기, 2. 알고리즘 공부, 3. 딥 러닝 입문, 4. 어학 공부 이렇게 4가지이다. 우선순위는 두지 않고 전부 균형 맞춰 실행할 생각이다. 여유 안녕..

반응형

댓글