목차

오늘의 TIL 순서는

  1. 시작전 마음가짐
  2. Python 문제풀이
  3. LLM 특강
  4. 딥러닝 복습
  5. GIT 특강1
  6. 회고

시작전 마음가짐

오늘은 팀과제 발제가 있습니다.

 

19시에 발제가있고 그전에 특강들이 3가지 정도 준비 되어있습니다.

 

개인 학습의 양을 조금 줄이고 일정 소화하는데 집중해야겟습니다.

 

그럼 학습을 시작하겟습니다.


Python 문제 풀이

1. 수열과 구간 쿼리

  • i % k 가 왜 조건이 되는지 이해가 안감
# 내 틀린 풀이
def solution(arr, queries):
    for s, e, k in queries:
        for i in range(s, e + 1):
            if arr[i] % k == 0:
                arr[i] += 1  
    return arr
# 검색을 통한 풀이
def solution(arr, queries):
    for s, e, k in queries:
        for i in range(s, e + 1):
            if i % k == 0:
                arr[i] += 1  
    return arr

2. 배열 만들기2

  • 리스트 컴프리헨션을 잘 사용하고싶다.
  • all함수를 이용하는 방법이 가장 간단해 보인다.
# 틀린 풀이
def solution(l, r):
    answer = []
    for i in range(l, r+1):
        if str(i) == '0' or str(i) == '5':
            answer.append(i)
        else:
            answer.append(-1)
# 검색을 통한 풀이
def solution(l, r):
    answer = []
    for i in range(l, r + 1):  
        if all(a in '05' for a in str(i)):  
            answer.append(i)
    return answer if answer else [-1]

3. 카운트 업

  • 완료
ef solution(start_num, end_num):
    answer = []
    for i in range(start_num, end_num + 1):
        answer.append(i)

    return answer

# 간단한 정답
def solution(start, end):
    return [i for i in range(start,end+1)]

LLM 특강

1. LLM의 문제

  • 맥락이 없는 상태인 챗봇에 맥락을 알려줘야한다.
  • 할루시네연: 없는 정보를 만들어 내서 전혀 상관없는 정보를 만든다.

2. RAG의 배경지식

  • Retrieval-Augmented Generation 검색증강생성
  • 과정
    • 연관 문서 저장 => 문서 쪼개기 => 질문에 맞는 문서 내용 찾기 => 결과 출력
  • 문서 내용 찾는 방법
    • 비슷한 텍스트를 찾아낸다.(유클리드 거리를 계산을 통해 유사도를 구할 수 있다.)
    • 임베딩을 활용해 데이터 포인트의 위치를 찾을 수 있다.
  • 이렇게 찾은 데이터 포인트들의 좌표값을 벡터 스토어에 저장한다.

3. AnyThingLLM 실습

  • AnyThingLLM 다운
  • LLM, 임베딩 모델 선택 등 설정 값 조정
  • 로컬환경의 파일 불러와서 임베딩 클릭하고 바로 실행 가능

딥러닝 복습

1. 인공지능, 머신러닝, 딥러닝의 관계

  • 인공지능(AI) : 인공지능은 인간의 지능을 모방하여 문제를 해결하는 기술을 의미합니다. AI는 규칙 기반 시스템부터 자율 학습 시스템까지 다양한 접근 방식을 포함합니다.
  • 머신러닝(ML) : 머신러닝은 데이터를 이용해 모델을 학습하고, 이를 통해 예측이나 결정을 내리는 기술입니다. 머신러닝은 AI의 하위 분야로, 지도 학습, 비지도 학습, 강화 학습 등의 방법을 포함합니다.
  • 딥러닝(DL) : 딥러닝은 머신러닝의 하위 분야로, 다층 신경망을 사용하여 데이터를 학습합니다. 딥러닝은 특히 대규모 데이터와 복잡한 문제를 다루는 데 강력한 성능을 발휘합니다.

2. 활성화 함수

  • ReLU
  • Sigmoid
  • Tanh(Hyperbolic Tangent)

3. 손실 함수

  • MSE(평균 제곱 오차): 예측 값과 실제 값의 차이를 제곱하여 평균(회귀문제)
  • Cross-Entropy(교차 엔트로피): 예측 확률과 실제 클래스 간의 차이 측정(분류문제)

4. 최적화 알고리즘

  • SGD: 랜덤의 일부데이터(미니배치)를 사용해 기울기를 계산하고 업데이트
  • Adam: 학습률을 적응적으로 조정

5. 딥러닝 활용

  • 회귀문제
  • 이진 분류 문제
  • 다중 클래스 분류 문제
  • 특징 추출(이미지, 이차원 데이터)
  • 시계열 데이터, 순차적인 데이터 처리 및 예측
  • 자연어 처리 및 예측

6. 하이퍼 파라미터

  • 사용자가 설정해야하는 값으로 모델성능에 영향을 미치는 것
    • 학습률: 가중치를 업데이트하는 속도 결정
    • 배치크기: 한번의 업데이트에 데이터 샘플 수
    • 에포크 수: 전체 데이터 셋 몇번 반복 학습 결정
    • 모멘텀: 이전 기울기 반영 여부 결정
    • 가중치 초기화: 모델의 가중치 초기화 방법

7. 하이퍼 파라미터 자동 튜닝 기법

  1. Grid Search: 모든 조합을 시도
  2. Random Search: 무작위로 값을 선택해 최척화
  3. Bayesian Optimization: 이전 결과 바탕으로 다음 평가의 하이퍼파라미터 결정

GIT특강 1일차

협업 시나리오

    1. beanch를 나누는 방법
    2. main: 기준이 되는 브렌치
    3. develop: 개발을 하고있는 브렌치
    4. feature: 개발 중인 기능 중에 하나를 나타내는 브랜치
    1. branch 이동 방법
    2. 브랜치 생성: git branch '이름'
    3. 브렌치 이동: git checkout '이름'
    4. 브렌치 병합: git merge feature-branch
    1. merge충돌 확인 방법
    2. git log --merge: 병합 충돌이 발생한 파일의 이력을 확인
    3. git diff: 충돌 내용을 비교하여 변경사항을 확인
    1. 이슈 트래킹: 보충 필요
    1. 풀 리퀘스트: 보충 필요
    1. 협업 때 좋은 프로그램
    2. 소스트리 :https://www.sourcetreeapp.com/
    3. 깃허브 데스크탑: https://desktop.github.com/download/
    4. 깃 크라켄: https://www.gitkraken.com/

회고

오늘은 일정이 많아 조금 힘이 들었습니다.

 

하지만 일정 외에 개인 공부는 알찻다고 생각합니다.

 

다시 딥러닝 복습할 때는 이 것을 이해하기 위해 얼마나 다시 시간을 갈아 넣어야하나라는 생각이있었습니다.

 

그래서 전체적으로 간단하게 보면서 기본중의 기본이라 생각이 드는 부분을 복습하였습니다.

 

또한 오늘 팀과제 발제가있었는데 생각보다 프로젝트를 한다는게 얼마나 할 일이 많고 어려운지 알게 되는 시간이였습니다.

 

발제만 들었을 때는 무엇을 어떻게 해야하지 이런 생각 밖에 들지않아 와닿지 않았습니다.

 

내일 팀 회의 통해 가닥이 잘 잡혔으면 좋겟습니다.

+ Recent posts