본문 바로가기

TIL5

Loss에 대한 고찰 딥러닝의 학습과정에서 우리는 많은 Loss를 사용한다. Cross-Entropy와 MSE 가 대표적인 손실이며 이미지의 고차원적 의미를 담기 위한 perceptual loss 등을 사용하기도 한다. 이렇게 로스를 가져다가 쓸 때, 대부분 파이토치에서 이미 구현해놓은 로스를 사용하기 때문에 그 수학적 의미를 대충 이해만 하고 넘기는 경우가 많았다.  (아, 회귀때 mse 쓰고 분류때 cross entropy 쓰는데 회귀때도 cross entropy 쓸 수도 있구나. 근데 그건 로그값이 0에 가까울 수록 엄청 기울기가 커서 그렇구나- 의 정도)  이번에 과제를 진행하며 numpy의 저수준에서 모델의 학습을 짜볼 기회가 생겨 얻었던 인사이트를 기록하려고 한다.       Softmax Loss란? 우리가 흔하.. 2024. 11. 19.
백엔드 엔지니어? 프론트엔드 엔지니어? 호스팅 ? 라우팅 ? 배포 ? [개념 정리] 컴퓨터 관련 쪽에서 공부를 하며 여러 용어들을 들어왔지만 정확히 그 용어가 무엇을 의미하는지 잘 알기 어려웠다. 나는 항상 언어가 사고의 틀이라 생각해 왔기에 언어가 정확히 확립되지 않는다면, 내가 생각하고 있는 개념이 계속해서 혼동될 것이라고 여겨 이번 기회에 확실히 정리하고자 한다. 백엔드 엔지니어란? 백엔드 엔지니어는 서버, 데이터베이스, 애플리케이션의 로직을 처리하는 서버 사이드 코드를 개발하는 전문가이다. 사용자가 직접적으로 보거나 상호작용하지 않는 데이터 처리 및 저장, API 제공, 사용자 인증, 서버 로직 처리 등의 업무를 담당한다. 주요 역할 1. 서버 개발 : 서버 사이드 로직을 개발하고한다. 즉, 유저(클라이언트)의 요청을 처리하며 적절한 응답을 전송하도록 만든다. 2. 데이터 베이스.. 2024. 2. 11.
[자바스크립트] 비동기 처리(Ajax, Pjax)와 Promise, Async/Await문법과 axios와 fetch 개념들 핥아먹기 다음은 프론트엔드를 공부하며 궁금했던 사항들을 찾아보고 간략하게 정리한 것입니다. 틀린 부분들이 존재할 수도 있으며 피드백해주신다면 감사하겠습니다! 코드를 동기적으로 처리한다는 것은 위에서부터 아래로 모든 코드가 순서대로 처리되는 것을 의미한다. 비동기적으로 처리한다는 것은 특정 코드의 연산이 끝날 때 까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행함을 의미한다. 자바스크립트는 이렇게 비동기적으로 처리하는 특성을 가진다. 왜냐하면 동기적으로 처리했을 때는 코드 파악이 쉬워지고 유지보수나 디버깅이 쉬워지는 장점이 있다. 하지만 싱글 스레드 방식의 자바스크립트에서는 런타임 시 발생하는 지연시간이 큰 문제가 된다. 그래서 자바스크립트는 비동기적으로 코드를 처리하게 되며 이를 위한 다양한 통신 기법이 존.. 2024. 2. 11.
Next.js - 노마드 코더[CSR,SSR / SPA / DOM] 본 내용은 노마드 코더의 Next.js 14 를 공부하면서 모르거나 헷갈리는 부분들을 정리한 내용입니다. 따라서 일부의 내용이 생략되어 있을 수 있으며, 필자의 개인적 생각들이 첨가되어 있을 수 있으며 틀린 내용들이 있다면 언제든 지적해주시면 감사하겠습니다. ----------------------------------------------------------------------- 라이브러리와 프레임워크에 대한 이해 React = 라이브러리 원하는 기능이 있을 때 그냥 가져다가 자유롭게 쓰는 것이다. 결정권이 우리에게 있으며 우리가 라이브러리를 사용하는 것이다. Next.js = 프레임워크 Next.js의 기능을 사용하고 싶으면 Next.js의 룰을 따라야 한다. 우리가 제대로 된 위치에 코드를 구현.. 2024. 2. 11.