A Hamiltonian-inspired approach for AI optimization
Project description
Hamiltonian AI
Hamiltonian AI is a Python library that implements Hamiltonian-inspired approaches for optimizing AI models. It provides tools for both multi-hop question answering and credit scoring tasks, leveraging principles from Hamiltonian mechanics to enhance model performance and stability.
The following papers provide further information regarding the theoretical development:
Features
- Hamiltonian-inspired neural network architecture
- Advanced Symplectic Optimizer for efficient training
- Hamiltonian loss function for improved model convergence
- Data processing utilities for handling imbalanced datasets
- Evaluation metrics tailored for AI optimization tasks
Installation
You can install Hamiltonian AI using pip:
pip install hamiltonian-ai
Or clone the repository and install it locally:
Copygit clone https://github.com/yourusername/hamiltonian-ai.git
cd hamiltonian-ai
pip install -e
Quick Start Guide
Here's a simple example to get you started with Hamiltonian AI: pythonCopyimport torch from hamiltonian_ai import HamiltonianNN, AdvancedSymplecticOptimizer, hamiltonian_loss, prepare_data, evaluate_model
# Prepare your data
X, y = load_your_data() # Load your dataset
train_dataset, test_dataset, scaler = prepare_data(X, y)
# Create data loaders
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=32)
# Initialize the model
model = HamiltonianNN(input_dim=X.shape[1], hidden_dims=[64, 32])
# Set up the optimizer
optimizer = AdvancedSymplecticOptimizer(model.parameters())
# Training loop
for epoch in range(10):
for batch_X, batch_y in train_loader:
optimizer.zero_grad()
outputs = model(batch_X)
loss = hamiltonian_loss(outputs, batch_y, model)
loss.backward()
optimizer.step()
# Evaluate the model
accuracy, precision, recall, f1, auc = evaluate_model(model, test_loader, device='cpu')
print(f"Accuracy: {accuracy}, F1 Score: {f1}, AUC: {auc}")
Examples
For more detailed examples, please check the examples/ directory in our repository:
- Credit Scoring (inlcuding notebook)
Data for this example is available here: https://zenodo.org/records/8401978 (DOI 10.5281/zenodo.8401977) - Question Answering (inlcuding notebook and data)
Documentation
For full documentation, including API reference and tutorials, visit our documentation page.
Contributing
We welcome contributions to Hamiltonian AI! Here are some ways you can contribute:
Report bugs and request features by opening issues. Submit pull requests with bug fixes or new features. Improve documentation or add examples. Share your experience using Hamiltonian AI.
Please read our Contribution Guidelines for more details.
Development Setup
To set up the development environment:
git clone https://github.com/yourusername/hamiltonian-ai.git
cd hamiltonian-ai
pip install -e .[dev]
Run tests using
pytest
Citation
If you use Hamiltonian AI in your research, please cite our paper:
@article{marin2024hamiltonian,
title={Hamiltonian Neural Networks for Robust Out-of-Time Credit Scoring},
author={Mar{\'\i}n, Javier},
journal={arXiv preprint arXiv:2410.10182},
year={2024}
}
@article{marin2024optimizing,
title={Optimizing AI Reasoning: A Hamiltonian Dynamics Approach to Multi-Hop Question Answering},
author={Marin, Javier},
journal={arXiv preprint arXiv:2410.04415},
year={2024}
}
Contact
For any questions or feedback, please open an issue on our GitHub repository or contact us at javier@jmarin.info
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hamiltonian_ai-0.1.0.tar.gz.
File metadata
- Download URL: hamiltonian_ai-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49be8142e855c8a79dc317429d351b144d83304d8afc85b41a32224b4f752552
|
|
| MD5 |
5aea1061505ff65ed095a8d0c739126e
|
|
| BLAKE2b-256 |
c16faace39fda381237ca56e4de1ee5690f903b242e20440fb0456a17b794891
|
File details
Details for the file hamiltonian_ai-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hamiltonian_ai-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
584a713f86c93709c1c64f34312fe21741aabfcd986402067ae758ed47dbd942
|
|
| MD5 |
5f5d87dc4f4a969a776f4e89b3f990ea
|
|
| BLAKE2b-256 |
2bc2535788f63587ce8fc896310be0560a0f10b44e0692c555dd3567f1063a49
|