nhờ Trí tuệ nhân tạo tạo thử mạng neural (1 người xem)

Người dùng đang xem chủ đề này

anhtuanle123

Thành viên tiêu biểu
Tham gia
8/6/09
Bài viết
431
Được thích
282
tạo thử code nhận diện !
ước mơ thời trẻ ^^
1787052034485.png1787052070783.png
 

File đính kèm

Chủ đề này hay quá bác ơi! Bác đã chạy test thử với tập dữ liệu nào chưa, tốc độ xử lý của Excel có bị lag không?

Thường thì code VBA do AI sinh ra (kiểu như ChatGPT) khá tốt về mặt logic, nhưng khi xử lý thuật toán nặng như Neural Network thì hay bị lỗi ở khâu khai báo mảng (Array) hoặc lồng quá nhiều vòng lặp. Cứ nạp dữ liệu lớn vào là Excel rất dễ bị đơ (Not Responding).

Bác cứ share nguyên đoạn code hoặc đính kèm file demo lên đây để anh em cùng chạy thử và tối ưu tốc độ xem sao nhé. Hóng kết quả từ bác!
 
mình chỉ trò chuyện với AI , rùi nó cho code chạy thôi ah, code có trong file macro đính kèm bên trên, mình sẽ vặn vẹo nó thêm, nếu có code ngon hơn sẽ share ^^
--------------------------------------------------------------
hỏi : đoạn code này có thể dùng để làm các ứng dụng như nhận diện vân tay của vài nghìn người hoặc nhận diện khuôn mặt không ?
--------------------------------------------------------------
Câu trả lời ngắn gọn là: KHÔNG, đoạn code này không thể dùng để nhận diện vân tay hay khuôn mặt cho vài nghìn người trong thực tế.

Mặc dù đoạn code của bạn chứa những "hạt nhân" toán học cơ bản nhất của trí tuệ nhân tạo (lan truyền tiến, lan truyền ngược, hàm kích hoạt), nhưng để giải quyết bài toán phức tạp như vân tay hay khuôn mặt, người ta cần những kiến trúc mạng và nền tảng hoàn toàn khác.

Dưới đây là 4 lý do cốt lõi giải thích tại sao đoạn code này không đáp ứng được:

1. Kiến trúc mạng (MLP vs. CNN)​

  • Code của bạn (MLP): Đang sử dụng kiến trúc Multi-Layer Perceptron. Nhược điểm lớn nhất của nó là "dàn phẳng" bức ảnh (biến ma trận 8x10 thành một mảng dài 80 phần tử). Việc này phá hủy hoàn toàn cấu trúc không gian 2D của hình ảnh. Hai điểm ảnh nằm cạnh nhau trên trục dọc sẽ bị đẩy ra xa nhau trong mảng 1D, khiến AI không hiểu được các đường nét, góc cạnh.
  • Thực tế: Hệ thống nhận diện khuôn mặt/vân tay bắt buộc phải dùng Mạng nơ-ron tích chập (CNN - Convolutional Neural Networks). CNN sử dụng các bộ lọc (filters) quét qua bức ảnh để nhận diện được các đặc điểm từ nhỏ (cạnh, góc, đường vân) đến lớn (mắt, mũi, vòng xoáy vân tay) mà không làm mất thông tin không gian.

2. Sự nhạy cảm với vị trí (Translation Invariance)​

  • Code của bạn: Nếu bạn vẽ chữ "A" nhưng dịch nó sang phải 1 pixel hoặc hơi nghiêng, mô hình này khả năng cao sẽ nhận diện sai hoàn toàn. Nó học vẹt vị trí pixel cố định (pixel số 15 phải là màu đen).
  • Thực tế: Khuôn mặt hay ngón tay của người dùng không bao giờ đặt ở vị trí hoàn hảo giống nhau 100% mỗi lần quét (ánh sáng khác, góc nghiêng khác, xa gần khác). Kiến trúc của bạn không có khả năng chống chịu sự thay đổi này.

3. Giới hạn phần cứng và Ngôn ngữ (Excel VBA)​

  • Sức mạnh tính toán: Nhận diện chữ 8x10 pixel cần $80 \times 64 = 5.120$ trọng số. Tuy nhiên, một ảnh vân tay hoặc khuôn mặt cơ bản nhất cũng phải đạt độ phân giải tối thiểu 112x112 pixel (12.544 đầu vào). Nếu đưa vào mạng để nhận diện vài nghìn người, số lượng trọng số sẽ lên tới hàng chục triệu.
  • Tốc độ: Chạy vài triệu phép tính nhân ma trận bằng vòng lặp For của VBA trên CPU sẽ khiến Excel "treo" vĩnh viễn. Trong thực tế, quá trình này cần được tính toán song song trên các card đồ họa (GPU) chuyên dụng thông qua C++ hoặc Python.

4. Cách thức phân loại (Classification vs. Embedding)​

  • Code của bạn: Đang dùng Softmax để phân loại trực tiếp. Tức là đầu ra có 4 lớp (A, B, D, O). Nếu có 5.000 người, bạn cần 5.000 nút đầu ra. Nếu thêm 1 người mới, bạn phải đập đi huấn luyện lại mạng từ đầu.
  • Thực tế: Các hệ thống FaceID không phân loại trực tiếp như vậy. Chúng dùng AI để nén bức ảnh khuôn mặt thành một "vector đặc trưng" (embedding) gồm ví dụ 512 con số. Khi quét mặt bạn, nó tạo ra vector này và đối chiếu với cơ sở dữ liệu xem có vector nào "gần giống" nhất (tính bằng khoảng cách toán học). Việc này cho phép thêm người mới vào hệ thống mà không cần huấn luyện lại AI.
Tóm lại: Đoạn code VBA của bạn là một tài liệu học tập xuất sắc để hiểu cách một Mạng nơ-ron hoạt động "dưới mui xe". Tuy nhiên, để làm ứng dụng thực tế về thị giác máy tính, bạn sẽ cần chuyển sang ngôn ngữ Python, sử dụng thư viện PyTorch / TensorFlow, và học về kiến trúc mạng CNN / ResNet.

--------------------------------------------------------------------
Hỏi : vậy nếu chỉ viết code VBA Excel thì mạng Newral làm được những gì ?
--------------------------------------------------------------------
Dù bị giới hạn về tốc độ tính toán, một Mạng nơ-ron (Neural Network) được viết thuần bằng VBA Excel vẫn hoàn toàn xử lý tốt các bài toán Machine Learning dạng dữ liệu bảng (Tabular Data) hoặc chuỗi thời gian đơn giản—nơi dữ liệu đầu vào là các con số, thuộc tính hoặc chỉ số định lượng thay vì hàng triệu pixel ảnh.

Dưới đây là những ứng dụng thực tế và khả thi nhất mà bạn có thể xây dựng:

1. Dự báo & Phân tích Chuỗi thời gian (Time-Series Forecasting)​

  • Dự báo Doanh thu / Cầu hàng hóa: Dự đoán doanh số bán hàng tháng tới dựa trên dữ liệu lịch sử (doanh thu các tháng trước, chi phí marketing, yếu tố mùa vụ).
  • Dự báo Tài chính & Bất động sản: Dự đoán giá nhà dựa trên diện tích, số phòng, vị trí; hoặc dự đoán chỉ số chứng khoán/tỷ giá ngắn hạn dựa trên các chỉ báo kỹ thuật.

2. Phân loại & Chẩn đoán (Classification Problems)​

  • Đánh giá Rủi ro Tín dụng (Credit Scoring): Phân loại hồ sơ vay tiền thành "An toàn" hay "Rủi ro" dựa trên thu nhập, độ tuổi, lịch sử dư nợ và số người phụ thuộc.
  • Dự đoán Tỷ lệ Rời bỏ của Khách hàng (Customer Churn): Phân loại khách hàng nào có khả năng hủy dịch vụ dựa trên tần suất sử dụng, số lần khiếu nại và số tiền chi trả.
  • Chẩn đoán Y tế cơ bản: Phân loại khả năng mắc bệnh (ví dụ: tiểu đường, tim mạch) dựa trên các chỉ số sinh hóa (huyết áp, chỉ số BMI, lượng đường trong máu).

3. Nhận dạng Mẫu đơn giản (Simple Pattern Recognition)​

  • Nhận dạng Chữ số / Ký tự viết tay cỡ nhỏ: Nhận diện chữ số từ $0$ đến $9$ hoặc ký tự đơn giản trên ma trận pixel nhỏ (như ma trận $8 \times 8$ hoặc $10 \times 10$ tương tự ví dụ của bạn).
  • Phân loại Cảm xúc Văn bản đơn giản (Sentiment Analysis): Đánh giá bình luận của khách hàng là "Tích cực" hay "Tiêu cực" dựa trên tần suất xuất hiện của các từ khóa được mã hóa thành số (Bag-of-Words).

4. Bảng điều khiển Giảng dạy & Trực quan hóa AI (Educational Dashboard)​

  • Mô phỏng Quá trình Học (Training Visualizer): Đây là điểm mạnh nhất của Excel. Bạn có thể vẽ đồ thị biểu diễn hàm mất mát (Loss Curve) giảm dần qua từng vòng lặp (Epoch), hoặc hiển thị sự thay đổi của từng trọng số (Weights) trực tiếp lên ô tính Excel theo thời gian thực để phục vụ giảng dạy và nghiên cứu toán học.

Bảng tóm tắt giới hạn năng lực của Mạng Nơ-ron trên VBA​

Loại bài toánKhả năng của VBA Neural NetworkVí dụ thực tế
Dữ liệu bảng (Numbers/Table)Rất tốt (Dưới 10.000 dòng, 20-50 thuộc tính)Dự báo doanh thu, chấm điểm tín dụng
Dữ liệu Ký tự / Ảnh nhỏKhá (Ảnh ma trận dưới $16 \times 16$ pixel)Nhận diện chữ số viết tay đơn giản
Ảnh lớn / Video (FaceID)Không thể (Do quá tải bộ nhớ & tốc độ CPU)Nhận diện khuôn mặt, vân tay thực tế
Xử lý Ngôn ngữ lớn (LLM)Không thể (Yêu cầu hàng tỷ trọng số)ChatGPT, DeepSeek
 

Bài viết mới nhất

Back
Top Bottom