본문 바로가기

전체 글75

[신경망] 활성화 함수 딥러닝을 공부하다 보면 자주 나오는 용어 중 하나가 활성화 함수(Activation Function)입니다. 오늘은 이 활성화 함수가 무엇인지, 왜 중요한지에 대해 정리해보겠습니다.1️⃣ 퍼셉트론과 신경망🔍 퍼셉트론(perceptron)이란?퍼셉트론은 인공 뉴런을 흉내 낸 가장 기본적인 모델입니다.입력값에 가중치를 곱해 더한 후정해진 임계값을 넘으면 1, 넘지 않으면 0을 출력하는 아주 간단한 구조입니다. 하지만 퍼셉트론은 비선형 문제(XOR 문제 등)를 풀지 못합니다.그래서 이를 극복하기 위해 등장한 것이 바로 다층 퍼셉트론(MLP)입니다.🔍 다층 퍼셉트론(MLP)이란?다층 퍼셉트론은 가장 기본적인 신경망이라고 할 수 있습니다.하나의 퍼셉트론만으로는 복잡한 문제를 해결하기 어려워 여러 개의 퍼셉트론.. 2025. 5. 31.
[신경망] 퍼셉트론과 다층 퍼셉트론 딥러닝 혹은 인공 신경망을 학습하시는 분들께서 가장 먼저 접하게 되는 개념 중 하나는 바로 퍼셉트론(Perceptron)입니다. 퍼셉트론은 신경망을 구성하는 가장 기본적인 단위로, 그 작동 원리와 구조는 이후 학습하게 될 더 복잡한 모델들을 이해하는 데 있어 매우 중요한 기반이 됩니다.1️⃣ 퍼셉트론이란?퍼셉트론은 생물학적 뉴런을 수학적으로 단순화한 모델입니다.인간의 뇌에서 뉴런이 다양한 자극을 받아 일정 기준 이상이 되면 반응하는 것과 같이퍼셉트론은 여러 입력 값을 받아 계산한 후 특정 조건을 만족할 경우에만 출력 신호를 보냅니다.퍼셉트론의 구성 요소입력값 (x₁, x₂, ..., xₙ): 외부 데이터가중치 (w₁, w₂, ..., wₙ): 각 입력의 중요도를 나타냄편향 (bias): 계산값을 조정하는.. 2025. 4. 1.
[python]2470_두 용액 사용한 자료구조 및 개념 : 투 포인터 (Two-Pointer), 정렬 💡 문제풀이 아이디어 및 어려웠던 점⚠️ 어려웠던 점: 모든 용액의 조합을 확인하여 합의 절댓값이 0에 가까운 숫자들을 찾을려고 했습니다. 그러나 가능한 조합 수는 n x (n - 1) / 2 로 n이 크면 시간 초과가 발생하였습니다.N 최대 100,000일 때 조합의 수는 약 5×10¹⁰개로 O(N²) 복잡도를 가지며 시간 내에 계산이 불가능한 것이었죠..!그래서 다른 아이디어를 생각했습니다. 💫 아이디어1️⃣ 리스트 정렬: 음수와 양수가 섞여 있는 리스트를 정렬해 두 용액의 합에 대해 접근합니다.2️⃣ 양 끝에서 시작: 리스트의 가장 왼쪽(left)과 가장 오른쪽(right)에서 출발하여 두 용액의 합을 계산3️⃣ 합에 따른 .. 2025. 1. 17.
[python]1654_랜선 자르기 사용한 자료구조 및 개념 : 이분 탐색 (Binary Search) 💡 문제풀이 아이디어 및 어려웠던 점💫 아이디어가능한 최대 길이를 효율적으로 찾기 위해 이분 탐색(Binary Search) 을 사용하였습니다. 🤓 문제 풀이 단계1️⃣ 입력 받기 및 초기 설정랜선의 개수 k와 필요한 랜선의 수 n을 입력받습니다.이어서 각 랜선의 길이를 입력 받아 cables 리스트에 저장합니다.이분 탐색을 위한 시작점 start를 1로, 종료점 end를 주어진 랜선들 중 최대 길이로 초기화합니다.2️⃣ 이분 탐색을 통한 최대 길이 탐색while start 중간 길이 mid를 계산하고 이 길이로 자를 수 있는 랜선의 개수 cnt를 구합니다.만약 cnt가 목표치 n 이상이면 해당 길이 mid는 조건을 만족하므로 정답.. 2025. 1. 14.
[python]2776_암기왕 사용한 자료구조 및 개념 : set 💡 문제풀이 아이디어 및 어려웠던 점💫 아이디어이 문제에서는 두 개의 수열이 주어졌을 때, 두 번째 수열의 각 수가 첫 번째 수열에 존재하는지 여부를 빠르게 확인해야 합니다. 기본적으로 브루트 포스로 모든 요소를 비교할 수도 있겠지만, 그렇게 하면 시간복잡도가 높아져서 효율적이지 못합니다.효율적으로 해결하기 위해 set 자료구조를 활용했습니다. 파이썬의 set은 내부적으로 해시 테이블을 사용하여, 멤버십 테스트(어떤 요소가 집합에 있는지 확인)를 평균 O(1)의 시간복잡도로 수행합니다. 이를 통해 각 숫자가 첫 번째 수열에 존재하는지를 빠르게 확인할 수 있습니다.🤓 문제 풀이 단계1️⃣ 입력 받기 및 자료구조 초기화먼저 테스트 케이스(tc)의 수를 입력받습니다.각.. 2025. 1. 13.
[BERT]Input Embedding 🔍 BERT의 입력 임베딩(Input Embedding)BERT는 입력 문장을 이해하기 위해 단순히 단어만을 입력하지 않고,각 단어를 벡터(임베딩)로 변환해 모델에 넣습니다.하지만 단어 벡터만으로는 문장 구조나 문맥을 완전히 표현할 수 없기 때문에,BERT는 3가지 임베딩(Token, Segment, Position)을 더해서 최종 입력 벡터를 구성합니다. 🚀 BERT의 입력 임베딩 3가지 요소1️⃣ Token Embedding문장의 각 단어(토큰)를 고유한 벡터로 변환합니다.BERT는 WordPiece 토크나이저를 사용해 단어를 더 작은 의미 단위로 나눕니다.예를 들어,"playing" → "play" + "##ing""unbelievable" → "un" + "##believable""##"는 앞.. 2025. 1. 9.