주말동안 무엇을 했나 싶을 정도로 한 게 없는 것만 같다. 금요일 저녁에는 피곤해서 일찍 잤고, 토요일 3시쯤부터 CS231n강의 요약을 했다. 하지만 이해를 하지 않고 강의 내용을 정리한 것이라 나중에 다시 정리해야할 것 같다. 일요일에는 힘들어서 쉬었다. 밤에서야 프로젝트 10을 정리하고, 해결책을 찾아보았다. 하지만 제대로 한 것인지는 잘 모르겠다. 모델 코드의 이해가 잘 안 된다. 그리고 고양이 사진에서 고양이 사이즈를 줄이고 싶었는데 잘 안 되었다. 고양이 마스크만 줄이려면 어떻게 해야할까?
피곤해서 늦게 일어났다. 겨우 일어나서 컴퓨터를 켰다. 이 저질체력을 어찌해야 하지? 스터디 시간에는 프로젝트 10 인물모드 사진 만들기를 복습했다. 스터디를 준비하신 Y님이 자세하게 설명해주셨다. DeepLab모델 부분은 이해가 안 되었었는데 자세한 설명 덕에 조금은 이해한 것 같다. 스터디 시간에는 내가 생각도 못한 부분을 질문하시거나 이야기하시는 분이 있어서 항상 배우는 게 많다. 언젠가 나도 준비를 해야하는데, 잘 하지 못할까봐 걱정이다. 가끔은 뱁새가 황새 따라가는 것 아닌가 하는가 하는 생각이 든다.
오늘 노드의 내용은 딥러닝 레이어 중 선형 레이어(FC/Dense layer, Feedforward Network, Multilayer Perceptrons),Convolution layer, Pooling layer, Deconvolution layer에 대해 배우고, tensorflow를 이용하여 각 레이어의 차원과 weight 형태, 파라미터 개수 등을 출력하였다. 처음에는 CS231n과 겹쳐서 쉬울 것이라고 생각했지만 잘못된 예상이었다. 한 번 쭉 보기는 했지만 내용이 제대로 인지가 안 되어서 일기를 쓰고 나서 다시 공부해 볼 생각이다.
노드에는 가끔 오타가 있다. 평소에는 맞춤법 실수 같은 오타라서 괜찮은데, 오늘의 오타는 좀 중요한 것이었다. 22-4 중 행렬의 곱을 설명한 부분에서 AW를 WA로 쓴 부분이다. 그림 2개에 모두 그렇게 써있다. 막 보려는 순간 Y님께서 알려주셔서 보니 정말이었다. A는 4x2 행렬이고, W는 2x3 행렬이기 때문에 WA가 아닌 AW로 써야 한다. 그리고 같은 페이지의 밑에 보면 인사에 대한 예에서 프랑스 인사법을 아메리칸 마인드라고 쓴 것은 큰 웃음을 주었다.
오늘 점심에 부모님의 셀폰 통신사를 바꿔드리느라고 정신이 없었다. 수업이 시작하고도 마무리 못한 일을 하느라고 무슨 이야기를 하는지 듣지 못했다. 뭔지 모르지만 어떻게 할거냐고 하셔서 둘 다 상관없다고 대답했는데, 갑자기 10강인 RNN을 보게 되어서 조금 놀랐다. 프로젝트 11을 하느라 이전에 어떤 분이 10강을 정리하신 유튜브 강의를 본 적이 있어서 다행이었다. 그래서 처음 부분은 조금 이해했는데, 뒷 부분에서 알파벳 문자 단위로 학습시키는 부분에서는 이해가 잘 안 되었다.
알파벳 h를 주고 히든 노드를 통과하고 softmax를 지나서 점수가 나오면 실제로는 o가 나와야 하지만 e를 다음 히든 노드에 집어넣는다. 강의를 듣지 않고 ppt만 보았을 때는 Teacher Forcing이라고 생각했었다. 프로젝트11을 하면서 찾아본 강의에서 히든 노드와 softmax를 지난 결과물이 정답과 다를 경우, 정답을 다음 히든 노드에 넣어준다고 들었기 때문이다. 그래야 다음 노드에서 제대로 된 결과물이 나올 가능성이 높아질 수 있다고 하였다. 잘못된 결과물을 넣으면 그 다음 노드도 잘못된 결과가 나오게 되고 그 다음 노드에서도 잘못된 결과가 나오게 되기 때문이다.
그런데 강의에서는 확률 분포에서 하나를 뽑았는데, 운이 좋게도 e가 나와서 다음 히든 노드에 넣어준다는 식으로 설명을 하였다. 이 부분에 대해서 퍼실님과 같이 풀잎스쿨을 듣는 분들이 이야기를 나누셨는데, 그 부분이 이해가 잘 안 되었다. 2019년 미시간대 강의에서 이 부분을 제대로 설명한다고 하니 CS231n을 정리할 때 그 강의를 들을 예정이다.
오늘 RNN을 배우면서 문득 역시 나는 자연어처리로 가야겠구나라는 생각이 들었다. 자연어처리가 어렵기는 하지만 재미있다. RNN에서 히든 노드를 계속 지날수록 처음에 넣었던 정보들이 소실된다거나 모델 학습을 통해 기대하는 것, 즉 뒤의 단어를 예측하는 것 외에도 따옴표나 if문 같은 데이터 구조를 파악했다는 이야기를 들으면서 인공지능이 사람과 같은 방식으로 동작한다는 생각이 들었다. 사람들도 이야기를 들을 때 처음 것보다 뒤의 부분을 더 잘 기억하고, 아이들이 말을 배울 때 단어보다 어른들의 말투나 특징을 잘 따라한다. 그런 부분들이 나에게는 더 매력적으로 다가왔다.
사실 주말에 자연어처리에 관련된 기사를 보고 조금 고민했다. 자연어처리 분야에 계속 있다보면 이루다 사건과 같은 일들, 해고된 AI 전문가와 같은 상황에 종종 마주칠 수도 있다. 그 상황에서 나는 어떻게 해야할 것인가? 많은 생각을 하게 된다. 그리고 데이터를 모으기 힘들고 고려해야할 부분이 많기 때문에 자연어처리 분야는 이미지 비전 분야보다 발전하기 쉽지 않을 것이다. (실제로도 그렇고) 미래가 고민되기는 하지만 미래는 미래의 나에게 맡기고 우선은 주어진 현실에 집중을 해야겠다.
구글, 또 여성 AI 윤리 연구자 해고 '파문'
구글은 왜 AI 전문가를 해고했을까?
Behind the Paper That Led to a Google Researcher’s Firing